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,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 @@ | @@ -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 | # import lbbulk.model | 1 | # import lbbulk.model |
2 | from lbbulk.model.BulkUpload import BulkUploadContextFactory | 2 | from lbbulk.model.BulkUpload import BulkUploadContextFactory |
3 | -from lbbulk.model.BulkSources import BulkSourceContextFactory | 3 | +from lbbulk.model.BulkSource import BulkSourceContextFactory |
4 | from lbbulk.view.restfulview import RegCustomView | 4 | from lbbulk.view.restfulview import RegCustomView |
5 | 5 | ||
6 | def make_routes(config): | 6 | def make_routes(config): |
@@ -0,0 +1,20 @@ | @@ -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,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 | from sqlalchemy import Table, Column, Integer, String, ForeignKey | 1 | from sqlalchemy import Table, Column, Integer, String, ForeignKey |
2 | +from requests import get | ||
2 | from pyramid_restler.model import SQLAlchemyORMContext | 3 | from pyramid_restler.model import SQLAlchemyORMContext |
3 | from lbbulk.model import Base, metadata, session | 4 | from lbbulk.model import Base, metadata, session |
4 | import json | 5 | import json |
@@ -6,9 +7,9 @@ import json | @@ -6,9 +7,9 @@ import json | ||
6 | 7 | ||
7 | bulk_upload = Table('lb_bulk_upload', metadata, | 8 | bulk_upload = Table('lb_bulk_upload', metadata, |
8 | Column('id_reg', Integer, primary_key=True), | 9 | Column('id_reg', Integer, primary_key=True), |
9 | - Column('chave_externa', String, nullable=False), | 10 | + Column('external_key', String, nullable=False), |
10 | Column('id_source', Integer, | 11 | Column('id_source', Integer, |
11 | - ForeignKey('lb_bulk_sources.id_source'), | 12 | + ForeignKey('lb_bulk_source.id_source'), |
12 | nullable=False), | 13 | nullable=False), |
13 | extend_existing=True | 14 | extend_existing=True |
14 | ) | 15 | ) |
@@ -18,9 +19,13 @@ class BulkUpload(Base): | @@ -18,9 +19,13 @@ class BulkUpload(Base): | ||
18 | __table__ = bulk_upload | 19 | __table__ = bulk_upload |
19 | 20 | ||
20 | def verifica_registro(data): | 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 | registro_existe = q.first() | 24 | registro_existe = q.first() |
25 | + if sim: | ||
26 | + registro_existe = True | ||
27 | + else: | ||
28 | + registro_existe = False | ||
24 | return registro_existe | 29 | return registro_existe |
25 | 30 | ||
26 | 31 | ||
@@ -32,4 +37,4 @@ class BulkUploadContextFactory(SQLAlchemyORMContext): | @@ -32,4 +37,4 @@ class BulkUploadContextFactory(SQLAlchemyORMContext): | ||
32 | 37 | ||
33 | def get_member_id_as_string(self, member): | 38 | def get_member_id_as_string(self, member): |
34 | id = self.get_member_id(member) | 39 | id = self.get_member_id(member) |
35 | - return json.dumps(id, cls=self.json_encoder) | 40 | - return json.dumps(id, cls=self.json_encoder) |
41 | + return json.dumps(id, cls=self.json_encoder) | ||
36 | \ No newline at end of file | 42 | \ No newline at end of file |
lbbulk/templates/mytemplate.pt
@@ -39,6 +39,9 @@ | @@ -39,6 +39,9 @@ | ||
39 | <li> | 39 | <li> |
40 | <a href="/lbbulk/source">Fontes de Dados</a> | 40 | <a href="/lbbulk/source">Fontes de Dados</a> |
41 | </li> | 41 | </li> |
42 | + <li> | ||
43 | + <hr> | ||
44 | + </li> | ||
42 | </ul> | 45 | </ul> |
43 | </div> | 46 | </div> |
44 | <div id="right" class="align-left"> | 47 | <div id="right" class="align-left"> |
lbbulk/view/restfulview.py
@@ -28,40 +28,41 @@ class RegCustomView(RESTfulView): | @@ -28,40 +28,41 @@ class RegCustomView(RESTfulView): | ||
28 | return data | 28 | return data |
29 | 29 | ||
30 | def send_to_lightbase(self, data): | 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 | with the external key and lighbase's id_reg """ | 32 | with the external key and lighbase's id_reg """ |
33 | data['json_reg'] = json.loads(data['json_reg']) | 33 | data['json_reg'] = json.loads(data['json_reg']) |
34 | # converte os filhos pra dicts | 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 | registro = self.is_error(data) | 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 | id_source = 1 | 38 | id_source = 1 |
42 | - chave_externa = registro['json_reg']['id_reg'] | 39 | + external_key = registro['json_reg']['id_reg'] |
43 | registro['json_reg'].pop('id_reg', None) | 40 | registro['json_reg'].pop('id_reg', None) |
41 | + registro['json_reg'].pop('name_source', None) | ||
44 | registro['json_reg'] = json.dumps(registro['json_reg']) | 42 | registro['json_reg'] = json.dumps(registro['json_reg']) |
45 | url = self.get_url_lightbase() | 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 | r = requests.post(url, data=registro) | 51 | r = requests.post(url, data=registro) |
48 | id_reg = self.is_error_resp(r.json()) | 52 | id_reg = self.is_error_resp(r.json()) |
49 | data = { | 53 | data = { |
50 | 'id_source':id_source, | 54 | 'id_source':id_source, |
51 | 'id_reg':id_reg, | 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 | return data | 58 | return data |
59 | 59 | ||
60 | def get_url_lightbase(self): #TODO | 60 | def get_url_lightbase(self): #TODO |
61 | """ Returns url from config """ | 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 | return url | 66 | return url |
66 | 67 | ||
67 | def is_error(self,data): #TODO | 68 | def is_error(self,data): #TODO |
production.ini
@@ -1,65 +0,0 @@ | @@ -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 @@ | @@ -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 |