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 | ... | ... |