commit 39a1e5cea1a307aa2c524889ea41dc7388eb8882 Author: Emmanuel Cazenave Date: Fri Oct 11 06:34:29 2019 +0200 First commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7e99e36 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.pyc \ No newline at end of file diff --git a/passerelle_cr_poc/__init__.py b/passerelle_cr_poc/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/passerelle_cr_poc/migrations/0001_initial.py b/passerelle_cr_poc/migrations/0001_initial.py new file mode 100644 index 0000000..90d4cc5 --- /dev/null +++ b/passerelle_cr_poc/migrations/0001_initial.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.18 on 2019-10-11 04:29 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('base', '0015_auto_20190921_0347'), + ] + + operations = [ + migrations.CreateModel( + name='ReunionConnector', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=50, verbose_name='Title')), + ('description', models.TextField(verbose_name='Description')), + ('slug', models.SlugField(unique=True, verbose_name='Identifier')), + ('server', models.CharField(max_length=128, verbose_name='DB server')), + ('username', models.CharField(max_length=128, verbose_name='DB user')), + ('password', models.CharField(blank=True, max_length=128, null=True, verbose_name='DB server')), + ('users', models.ManyToManyField(blank=True, related_name='_reunionconnector_users_+', related_query_name='+', to='base.ApiUser')), + ], + options={ + 'verbose_name': 'Connecteur de test r\xe9union', + }, + ), + ] diff --git a/passerelle_cr_poc/migrations/__init__.py b/passerelle_cr_poc/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/passerelle_cr_poc/models.py b/passerelle_cr_poc/models.py new file mode 100644 index 0000000..424c4b6 --- /dev/null +++ b/passerelle_cr_poc/models.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- + +from django.db import models +from django.utils.translation import ugettext_lazy as _ + +from passerelle.base.models import BaseResource +from passerelle.utils.api import endpoint +from passerelle.utils.jsonresponse import APIError + + +class ReunionConnector(BaseResource): + + server = models.CharField(max_length=128, verbose_name=_('DB server')) + username = models.CharField(max_length=128, verbose_name=_('DB user')) + password = models.CharField(max_length=128, verbose_name=_('DB server'), null=True, blank=True) + + category = 'Divers' + + class Meta: + verbose_name = u'Connecteur de test réunion' + + @endpoint(description_get=_('Ping'), methods=['get'], perm='can_access') + def ping(self, request): + return {'data': 'pong'} diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..ae7c439 --- /dev/null +++ b/setup.py @@ -0,0 +1,49 @@ +#! /usr/bin/env python + +import os +import subprocess + +from setuptools import setup, find_packages +from distutils.command.sdist import sdist + + +class eo_sdist(sdist): + def run(self): + if os.path.exists('VERSION'): + os.remove('VERSION') + version = get_version() + version_file = open('VERSION', 'w') + version_file.write(version) + version_file.close() + sdist.run(self) + if os.path.exists('VERSION'): + os.remove('VERSION') + + +def get_version(): + if os.path.exists('VERSION'): + version_file = open('VERSION', 'r') + version = version_file.read() + version_file.close() + return version + if os.path.exists('.git'): + p = subprocess.Popen(['git', 'describe', '--dirty', '--match=v*'], stdout=subprocess.PIPE) + result = p.communicate()[0] + if p.returncode == 0: + version = result.split()[0][1:] + version = version.replace('-', '.') + return version + return '0' + + +setup( + name='passerelle-cr-poc', + version=get_version(), + author='CR Reunion', + author_email='toto@example.net', + url='http://example.net/', + packages=find_packages(), + cmdclass={ + 'sdist': eo_sdist, + } +)