Commit 1a21299eb3990475fbbfc94fddff9990eddddddb
1 parent
bd79d0e2
Exists in
master
Release para o trunk do código que está no branch 1.0
git-svn-id: http://svn.brlight.net/svn/lightbase-neo/trunk/LBBulk@1099 29b92fdf-8c97-4584-b987-84e8d3c556fa
Showing
12 changed files
with
178 additions
and
169 deletions
Show diff stats
TODO.txt
development.ini
| ... | ... | @@ -1,60 +0,0 @@ |
| 1 | -[app:main] | |
| 2 | -use = egg:LBBulk | |
| 3 | - | |
| 4 | -pyramid.reload_templates = true | |
| 5 | -pyramid.debug_authorization = false | |
| 6 | -pyramid.debug_notfound = false | |
| 7 | -pyramid.debug_routematch = false | |
| 8 | -pyramid.default_locale_name = en | |
| 9 | -pyramid.includes = | |
| 10 | - pyramid_tm | |
| 11 | - | |
| 12 | -sqlalchemy.url = postgresql://rest:rest@localhost/projeto1 | |
| 13 | - | |
| 14 | -domain = http://api.brlight.org | |
| 15 | -base_name = wmi_teste | |
| 16 | - | |
| 17 | -[server:main] | |
| 18 | -use = egg:waitress#main | |
| 19 | -host = 0.0.0.0 | |
| 20 | -port = 6543 | |
| 21 | - | |
| 22 | -### | |
| 23 | -# logging configuration | |
| 24 | -# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/logging.html | |
| 25 | -### | |
| 26 | - | |
| 27 | -[loggers] | |
| 28 | -keys = root, lbbulk, sqlalchemy | |
| 29 | - | |
| 30 | -[handlers] | |
| 31 | -keys = console | |
| 32 | - | |
| 33 | -[formatters] | |
| 34 | -keys = generic | |
| 35 | - | |
| 36 | -[logger_root] | |
| 37 | -level = INFO | |
| 38 | -handlers = console | |
| 39 | - | |
| 40 | -[logger_lbbulk] | |
| 41 | -level = DEBUG | |
| 42 | -handlers = | |
| 43 | -qualname = lbbulk | |
| 44 | - | |
| 45 | -[logger_sqlalchemy] | |
| 46 | -level = WARN | |
| 47 | -handlers = | |
| 48 | -qualname = sqlalchemy.engine | |
| 49 | -# "level = INFO" logs SQL queries. | |
| 50 | -# "level = DEBUG" logs SQL queries and results. | |
| 51 | -# "level = WARN" logs neither. (Recommended for production systems.) | |
| 52 | - | |
| 53 | -[handler_console] | |
| 54 | -class = StreamHandler | |
| 55 | -args = (sys.stderr,) | |
| 56 | -level = NOTSET | |
| 57 | -formatter = generic | |
| 58 | - | |
| 59 | -[formatter_generic] | |
| 60 | -format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s |
| ... | ... | @@ -0,0 +1,60 @@ |
| 1 | +[app:main] | |
| 2 | +use = egg:LBBulk | |
| 3 | + | |
| 4 | +pyramid.reload_templates = true | |
| 5 | +pyramid.debug_authorization = false | |
| 6 | +pyramid.debug_notfound = false | |
| 7 | +pyramid.debug_routematch = false | |
| 8 | +pyramid.default_locale_name = en | |
| 9 | +pyramid.includes = | |
| 10 | + pyramid_tm | |
| 11 | + | |
| 12 | +sqlalchemy.url = postgresql://rest:rest@localhost/lbbulk | |
| 13 | + | |
| 14 | +domain = http://api.brlight.org | |
| 15 | +base_name = wmi | |
| 16 | + | |
| 17 | +[server:main] | |
| 18 | +use = egg:waitress#main | |
| 19 | +host = 0.0.0.0 | |
| 20 | +port = 6543 | |
| 21 | + | |
| 22 | +### | |
| 23 | +# logging configuration | |
| 24 | +# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/logging.html | |
| 25 | +### | |
| 26 | + | |
| 27 | +[loggers] | |
| 28 | +keys = root, lbbulk, sqlalchemy | |
| 29 | + | |
| 30 | +[handlers] | |
| 31 | +keys = console | |
| 32 | + | |
| 33 | +[formatters] | |
| 34 | +keys = generic | |
| 35 | + | |
| 36 | +[logger_root] | |
| 37 | +level = INFO | |
| 38 | +handlers = console | |
| 39 | + | |
| 40 | +[logger_lbbulk] | |
| 41 | +level = DEBUG | |
| 42 | +handlers = | |
| 43 | +qualname = lbbulk | |
| 44 | + | |
| 45 | +[logger_sqlalchemy] | |
| 46 | +level = WARN | |
| 47 | +handlers = | |
| 48 | +qualname = sqlalchemy.engine | |
| 49 | +# "level = INFO" logs SQL queries. | |
| 50 | +# "level = DEBUG" logs SQL queries and results. | |
| 51 | +# "level = WARN" logs neither. (Recommended for production systems.) | |
| 52 | + | |
| 53 | +[handler_console] | |
| 54 | +class = StreamHandler | |
| 55 | +args = (sys.stderr,) | |
| 56 | +level = NOTSET | |
| 57 | +formatter = generic | |
| 58 | + | |
| 59 | +[formatter_generic] | |
| 60 | +format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s | ... | ... |
lbbulk/config/routing.py
| 1 | 1 | # import lbbulk.model |
| 2 | 2 | from lbbulk.model.BulkUpload import BulkUploadContextFactory |
| 3 | -from lbbulk.model.BulkSources import BulkSourceContextFactory | |
| 3 | +from lbbulk.model.BulkSource import BulkSourceContextFactory | |
| 4 | 4 | from lbbulk.view.restfulview import RegCustomView |
| 5 | 5 | |
| 6 | 6 | def make_routes(config): | ... | ... |
| ... | ... | @@ -0,0 +1,20 @@ |
| 1 | +from sqlalchemy import Table, Column, Integer, String | |
| 2 | +from pyramid_restler.model import SQLAlchemyORMContext | |
| 3 | +from lbbulk.model import Base, metadata, session | |
| 4 | + | |
| 5 | + | |
| 6 | +bulk_source = Table('lb_bulk_source', metadata, | |
| 7 | + Column('id_source', Integer, primary_key=True), | |
| 8 | + Column('name_source', String, nullable=False) | |
| 9 | + ) | |
| 10 | + | |
| 11 | + | |
| 12 | +# map to it | |
| 13 | +class BulkSource(Base): | |
| 14 | + __table__ = bulk_source | |
| 15 | + | |
| 16 | +class BulkSourceContextFactory(SQLAlchemyORMContext): | |
| 17 | + entity = BulkSource | |
| 18 | + | |
| 19 | + def session_factory(self): | |
| 20 | + return session | ... | ... |
lbbulk/model/BulkSources.py
| ... | ... | @@ -1,20 +0,0 @@ |
| 1 | -from sqlalchemy import Table, Column, Integer, String | |
| 2 | -from pyramid_restler.model import SQLAlchemyORMContext | |
| 3 | -from lbbulk.model import Base, metadata, session | |
| 4 | - | |
| 5 | - | |
| 6 | -bulk_source = Table('lb_bulk_sources', metadata, | |
| 7 | - Column('id_source', Integer, primary_key=True), | |
| 8 | - Column('nome_source', String, nullable=False) | |
| 9 | - ) | |
| 10 | - | |
| 11 | - | |
| 12 | -# map to it | |
| 13 | -class BulkSource(Base): | |
| 14 | - __table__ = bulk_source | |
| 15 | - | |
| 16 | -class BulkSourceContextFactory(SQLAlchemyORMContext): | |
| 17 | - entity = BulkSource | |
| 18 | - | |
| 19 | - def session_factory(self): | |
| 20 | - return session |
lbbulk/model/BulkUpload.py
| 1 | 1 | from sqlalchemy import Table, Column, Integer, String, ForeignKey |
| 2 | +from requests import get | |
| 2 | 3 | from pyramid_restler.model import SQLAlchemyORMContext |
| 3 | 4 | from lbbulk.model import Base, metadata, session |
| 4 | 5 | import json |
| ... | ... | @@ -6,9 +7,9 @@ import json |
| 6 | 7 | |
| 7 | 8 | bulk_upload = Table('lb_bulk_upload', metadata, |
| 8 | 9 | Column('id_reg', Integer, primary_key=True), |
| 9 | - Column('chave_externa', String, nullable=False), | |
| 10 | + Column('external_key', String, nullable=False), | |
| 10 | 11 | Column('id_source', Integer, |
| 11 | - ForeignKey('lb_bulk_sources.id_source'), | |
| 12 | + ForeignKey('lb_bulk_source.id_source'), | |
| 12 | 13 | nullable=False), |
| 13 | 14 | extend_existing=True |
| 14 | 15 | ) |
| ... | ... | @@ -18,9 +19,13 @@ class BulkUpload(Base): |
| 18 | 19 | __table__ = bulk_upload |
| 19 | 20 | |
| 20 | 21 | def verifica_registro(data): |
| 21 | -# q = session.query(BulkUpload).filter_by(id_source=data['id_source'], chave_externa=data['json_reg']['id_reg'] ) | |
| 22 | - q = session.query(BulkUpload).filter_by(id_source=1, chave_externa=data['json_reg']['id_reg'] ) | |
| 22 | + # q = session.query(BulkUpload).filter_by(id_source=1, external_key=data['json_reg']['id_reg'] ) | |
| 23 | + get('localhost/') | |
| 23 | 24 | registro_existe = q.first() |
| 25 | + if sim: | |
| 26 | + registro_existe = True | |
| 27 | + else: | |
| 28 | + registro_existe = False | |
| 24 | 29 | return registro_existe |
| 25 | 30 | |
| 26 | 31 | |
| ... | ... | @@ -32,4 +37,4 @@ class BulkUploadContextFactory(SQLAlchemyORMContext): |
| 32 | 37 | |
| 33 | 38 | def get_member_id_as_string(self, member): |
| 34 | 39 | id = self.get_member_id(member) |
| 35 | 40 | - return json.dumps(id, cls=self.json_encoder) |
| 41 | + return json.dumps(id, cls=self.json_encoder) | |
| 36 | 42 | \ No newline at end of file | ... | ... |
lbbulk/templates/mytemplate.pt
lbbulk/view/restfulview.py
| ... | ... | @@ -28,40 +28,41 @@ class RegCustomView(RESTfulView): |
| 28 | 28 | return data |
| 29 | 29 | |
| 30 | 30 | def send_to_lightbase(self, data): |
| 31 | - """ Sends the register to a lightbase table and returns a dict | |
| 31 | + """ Sends the registers to a neo-light base and returns a dict | |
| 32 | 32 | with the external key and lighbase's id_reg """ |
| 33 | 33 | data['json_reg'] = json.loads(data['json_reg']) |
| 34 | 34 | # converte os filhos pra dicts |
| 35 | - existente = BulkUpload.verifica_registro(data) | |
| 36 | - # print(existente.id_reg) | |
| 37 | - print('\n\n\n\n\n\n\n\n\n\n') | |
| 35 | +# existente = BulkUpload.verifica_registro(data) | |
| 38 | 36 | registro = self.is_error(data) |
| 39 | - #id_source = registro['id_source'] | |
| 40 | - #registro.pop('id_source', None) | |
| 37 | +# id_source = registro['id_source'] | |
| 41 | 38 | id_source = 1 |
| 42 | - chave_externa = registro['json_reg']['id_reg'] | |
| 39 | + external_key = registro['json_reg']['id_reg'] | |
| 43 | 40 | registro['json_reg'].pop('id_reg', None) |
| 41 | + registro['json_reg'].pop('name_source', None) | |
| 44 | 42 | registro['json_reg'] = json.dumps(registro['json_reg']) |
| 45 | 43 | url = self.get_url_lightbase() |
| 46 | - if existente is None: | |
| 44 | +# if existente: | |
| 45 | +# r = requests.put(url, data=registro) | |
| 46 | +# id_reg = existente | |
| 47 | +# data = None | |
| 48 | + if False: | |
| 49 | + pass | |
| 50 | + else: | |
| 47 | 51 | r = requests.post(url, data=registro) |
| 48 | 52 | id_reg = self.is_error_resp(r.json()) |
| 49 | 53 | data = { |
| 50 | 54 | 'id_source':id_source, |
| 51 | 55 | 'id_reg':id_reg, |
| 52 | - 'chave_externa':chave_externa | |
| 56 | + 'external_key':external_key | |
| 53 | 57 | } |
| 54 | - else: | |
| 55 | - r = requests.put(url, data=registro) | |
| 56 | - id_reg = existente | |
| 57 | - data = None | |
| 58 | 58 | return data |
| 59 | 59 | |
| 60 | 60 | def get_url_lightbase(self): #TODO |
| 61 | 61 | """ Returns url from config """ |
| 62 | - domain = 'http://api.brlight.org' | |
| 63 | - base_name = 'wmi_teste' | |
| 64 | - url = domain + '/' + base_name + '/reg' | |
| 62 | + domain = 'http://localhost/lightbase' | |
| 63 | + base_name = 'wmi' | |
| 64 | +# url = (settings['domain'] + '/' + settings['base_name'] + '/reg') | |
| 65 | + url = (domain + '/' + base_name + '/reg') | |
| 65 | 66 | return url |
| 66 | 67 | |
| 67 | 68 | def is_error(self,data): #TODO | ... | ... |
production.ini
| ... | ... | @@ -1,65 +0,0 @@ |
| 1 | -### | |
| 2 | -# app configuration | |
| 3 | -# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/environment.html | |
| 4 | -### | |
| 5 | - | |
| 6 | -[app:main] | |
| 7 | -use = egg:LBBulk | |
| 8 | - | |
| 9 | -pyramid.reload_templates = false | |
| 10 | -pyramid.debug_authorization = false | |
| 11 | -pyramid.debug_notfound = false | |
| 12 | -pyramid.debug_routematch = false | |
| 13 | -pyramid.default_locale_name = en | |
| 14 | -pyramid.includes = | |
| 15 | - pyramid_tm | |
| 16 | - | |
| 17 | -sqlalchemy.url = postgresql://rest:rest@localhost/lbbulk | |
| 18 | - | |
| 19 | -domain = http://api.brlight.org | |
| 20 | -base_name = wmi | |
| 21 | - | |
| 22 | -[server:main] | |
| 23 | -use = egg:waitress#main | |
| 24 | -host = 0.0.0.0 | |
| 25 | -port = 6543 | |
| 26 | - | |
| 27 | -### | |
| 28 | -# logging configuration | |
| 29 | -# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/logging.html | |
| 30 | -### | |
| 31 | - | |
| 32 | -[loggers] | |
| 33 | -keys = root, lbbulk, sqlalchemy | |
| 34 | - | |
| 35 | -[handlers] | |
| 36 | -keys = console | |
| 37 | - | |
| 38 | -[formatters] | |
| 39 | -keys = generic | |
| 40 | - | |
| 41 | -[logger_root] | |
| 42 | -level = WARN | |
| 43 | -handlers = console | |
| 44 | - | |
| 45 | -[logger_lbbulk] | |
| 46 | -level = WARN | |
| 47 | -handlers = | |
| 48 | -qualname = lbbulk | |
| 49 | - | |
| 50 | -[logger_sqlalchemy] | |
| 51 | -level = WARN | |
| 52 | -handlers = | |
| 53 | -qualname = sqlalchemy.engine | |
| 54 | -# "level = INFO" logs SQL queries. | |
| 55 | -# "level = DEBUG" logs SQL queries and results. | |
| 56 | -# "level = WARN" logs neither. (Recommended for production systems.) | |
| 57 | - | |
| 58 | -[handler_console] | |
| 59 | -class = StreamHandler | |
| 60 | -args = (sys.stderr,) | |
| 61 | -level = NOTSET | |
| 62 | -formatter = generic | |
| 63 | - | |
| 64 | -[formatter_generic] | |
| 65 | -format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s |
| ... | ... | @@ -0,0 +1,60 @@ |
| 1 | +[app:main] | |
| 2 | +use = egg:LBBulk | |
| 3 | + | |
| 4 | +pyramid.reload_templates = false | |
| 5 | +pyramid.debug_authorization = false | |
| 6 | +pyramid.debug_notfound = false | |
| 7 | +pyramid.debug_routematch = false | |
| 8 | +pyramid.default_locale_name = en | |
| 9 | +pyramid.includes = | |
| 10 | + pyramid_tm | |
| 11 | + | |
| 12 | +sqlalchemy.url = postgresql://rest:rest@localhost/lbbulk | |
| 13 | + | |
| 14 | +domain = http://api.brlight.org | |
| 15 | +base_name = wmi | |
| 16 | + | |
| 17 | +[server:main] | |
| 18 | +use = egg:waitress#main | |
| 19 | +host = 0.0.0.0 | |
| 20 | +port = 6543 | |
| 21 | + | |
| 22 | +### | |
| 23 | +# logging configuration | |
| 24 | +# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/logging.html | |
| 25 | +### | |
| 26 | + | |
| 27 | +[loggers] | |
| 28 | +keys = root, lbbulk, sqlalchemy | |
| 29 | + | |
| 30 | +[handlers] | |
| 31 | +keys = console | |
| 32 | + | |
| 33 | +[formatters] | |
| 34 | +keys = generic | |
| 35 | + | |
| 36 | +[logger_root] | |
| 37 | +level = WARN | |
| 38 | +handlers = console | |
| 39 | + | |
| 40 | +[logger_lbbulk] | |
| 41 | +level = WARN | |
| 42 | +handlers = | |
| 43 | +qualname = lbbulk | |
| 44 | + | |
| 45 | +[logger_sqlalchemy] | |
| 46 | +level = WARN | |
| 47 | +handlers = | |
| 48 | +qualname = sqlalchemy.engine | |
| 49 | +# "level = INFO" logs SQL queries. | |
| 50 | +# "level = DEBUG" logs SQL queries and results. | |
| 51 | +# "level = WARN" logs neither. (Recommended for production systems.) | |
| 52 | + | |
| 53 | +[handler_console] | |
| 54 | +class = StreamHandler | |
| 55 | +args = (sys.stderr,) | |
| 56 | +level = NOTSET | |
| 57 | +formatter = generic | |
| 58 | + | |
| 59 | +[formatter_generic] | |
| 60 | +format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s | ... | ... |