Commit deacd16b97ffff3f49f6a30d01e1157822e6d8b0
1 parent
1b24ecdc
Exists in
master
alterações do wsc
Showing
8 changed files
with
12 additions
and
189 deletions
Show diff stats
wscacicneo/__init__.py
@@ -12,7 +12,6 @@ from pyramid.httpexceptions import HTTPNotFound | @@ -12,7 +12,6 @@ from pyramid.httpexceptions import HTTPNotFound | ||
12 | def main(global_config, **settings): | 12 | def main(global_config, **settings): |
13 | """ This function returns a Pyramid WSGI application. | 13 | """ This function returns a Pyramid WSGI application. |
14 | """ | 14 | """ |
15 | - | ||
16 | config.setup(settings) | 15 | config.setup(settings) |
17 | from wscacicneo.security import groupfinder | 16 | from wscacicneo.security import groupfinder |
18 | authn_policy = AuthTktAuthenticationPolicy( | 17 | authn_policy = AuthTktAuthenticationPolicy( |
wscacicneo/config/__init__.py
No preview for this file type
wscacicneo/models.py
1 | -from sqlalchemy import * | ||
2 | -from sqlalchemy.ext.declarative import declarative_base | ||
3 | - | ||
4 | -from pyramid.config import Configurator | ||
5 | -from pyramid_restler.model import SQLAlchemyORMContext | ||
6 | - | ||
7 | -from sqlalchemy.orm import ( | ||
8 | - scoped_session, | ||
9 | - sessionmaker, | ||
10 | - mapper | ||
11 | - ) | ||
12 | - | ||
13 | -from zope.sqlalchemy import ZopeTransactionExtension | ||
14 | - | ||
15 | from pyramid.security import ( | 1 | from pyramid.security import ( |
16 | Allow, | 2 | Allow, |
17 | Everyone, | 3 | Everyone, |
18 | ) | 4 | ) |
19 | 5 | ||
20 | -DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension())) | ||
21 | -Base = declarative_base() | ||
22 | - | ||
23 | -class SistemaOperacional(): | ||
24 | - """ | ||
25 | - Classe que define os sistemas operacionais | ||
26 | - | ||
27 | - """ | ||
28 | - __tablename__ = 'so' | ||
29 | - | ||
30 | - id_so = Column(Integer, primary_key=True) | ||
31 | - te_desc_so = Column(UnicodeText, nullable=True) | ||
32 | - sg_so = Column(UnicodeText, nullable=True) | ||
33 | - te_so = Column(UnicodeText, nullable=False) | ||
34 | - in_mswindows = Column(UnicodeText, default='S') | ||
35 | - | ||
36 | - def __init__ (self, id_so, te_desc_so, sg_so, te_so, in_mswindows): | ||
37 | - """ | ||
38 | - Metodo que chama as colunas | ||
39 | - """ | ||
40 | - self.id_so = id_so | ||
41 | - self.te_desc_so = te_desc_so | ||
42 | - self.sg_so = sg_so | ||
43 | - self.te_so = te_so | ||
44 | - self.in_mswindows = in_mswindows | ||
45 | - | ||
46 | - def __repr__(self): | ||
47 | - """ | ||
48 | - Metodo que passa a lista de parametros da classe | ||
49 | - """ | ||
50 | - return "<SistemaOperacional('%s, %s, %s, %s, %s')>" % (self.id_so, self.te_desc_so, self.sg_so, self.te_so, self.in_mswindows) | ||
51 | -class SistemaOperacionalContextFactory(SQLAlchemyORMContext): | ||
52 | - entity = SistemaOperacional | ||
53 | - def session_factory(self): | ||
54 | - return Session() | ||
55 | - | ||
56 | - | ||
57 | -so = Table('so', Base.metadata, | ||
58 | - Column('id_so', Integer, primary_key=True), | ||
59 | - Column('te_desc_so', UnicodeText, nullable=True), | ||
60 | - Column('sg_so', UnicodeText, nullable=True), | ||
61 | - Column('te_so', UnicodeText, nullable=False), | ||
62 | - Column('in_mswindows', UnicodeText, default='S') | ||
63 | - ) | ||
64 | - | ||
65 | -mapper(SistemaOperacional, so) | ||
66 | - | ||
67 | class RootFactory(object): | 6 | class RootFactory(object): |
68 | __acl__ = [ (Allow, Everyone, 'user'), | 7 | __acl__ = [ (Allow, Everyone, 'user'), |
69 | (Allow, 'Administrador', 'admin') ] | 8 | (Allow, 'Administrador', 'admin') ] |
70 | def __init__(self, request): | 9 | def __init__(self, request): |
71 | - pass | ||
72 | \ No newline at end of file | 10 | \ No newline at end of file |
11 | + pass |
wscacicneo/monitor.py
@@ -1,113 +0,0 @@ | @@ -1,113 +0,0 @@ | ||
1 | -import os | ||
2 | -import sys | ||
3 | -import time | ||
4 | -import signal | ||
5 | -import threading | ||
6 | -import atexit | ||
7 | -import queue as Queue | ||
8 | - | ||
9 | -_interval = 1.0 | ||
10 | -_times = {} | ||
11 | -_files = [] | ||
12 | - | ||
13 | -_running = False | ||
14 | -_queue = Queue.Queue() | ||
15 | -_lock = threading.Lock() | ||
16 | - | ||
17 | -def _restart(path): | ||
18 | - _queue.put(True) | ||
19 | - prefix = 'monitor (pid=%d):' % os.getpid() | ||
20 | - print >> sys.stderr, '%s Change detected to \'%s\'.' % (prefix, path) | ||
21 | - print >> sys.stderr, '%s Triggering process restart.' % prefix | ||
22 | - os.kill(os.getpid(), signal.SIGINT) | ||
23 | - | ||
24 | -def _modified(path): | ||
25 | - try: | ||
26 | - # If path doesn't denote a file and were previously | ||
27 | - # tracking it, then it has been removed or the file type | ||
28 | - # has changed so force a restart. If not previously | ||
29 | - # tracking the file then we can ignore it as probably | ||
30 | - # pseudo reference such as when file extracted from a | ||
31 | - # collection of modules contained in a zip file. | ||
32 | - | ||
33 | - if not os.path.isfile(path): | ||
34 | - return path in _times | ||
35 | - | ||
36 | - # Check for when file last modified. | ||
37 | - | ||
38 | - mtime = os.stat(path).st_mtime | ||
39 | - if path not in _times: | ||
40 | - _times[path] = mtime | ||
41 | - | ||
42 | - # Force restart when modification time has changed, even | ||
43 | - # if time now older, as that could indicate older file | ||
44 | - # has been restored. | ||
45 | - | ||
46 | - if mtime != _times[path]: | ||
47 | - return True | ||
48 | - except: | ||
49 | - # If any exception occured, likely that file has been | ||
50 | - # been removed just before stat(), so force a restart. | ||
51 | - | ||
52 | - return True | ||
53 | - | ||
54 | - return False | ||
55 | - | ||
56 | -def _monitor(): | ||
57 | - while 1: | ||
58 | - # Check modification times on all files in sys.modules. | ||
59 | - | ||
60 | - for module in sys.modules.values(): | ||
61 | - if not hasattr(module, '__file__'): | ||
62 | - continue | ||
63 | - path = getattr(module, '__file__') | ||
64 | - if not path: | ||
65 | - continue | ||
66 | - if os.path.splitext(path)[1] in ['.pyc', '.pyo', '.pyd']: | ||
67 | - path = path[:-1] | ||
68 | - if _modified(path): | ||
69 | - return _restart(path) | ||
70 | - | ||
71 | - # Check modification times on files which have | ||
72 | - # specifically been registered for monitoring. | ||
73 | - | ||
74 | - for path in _files: | ||
75 | - if _modified(path): | ||
76 | - return _restart(path) | ||
77 | - | ||
78 | - # Go to sleep for specified interval. | ||
79 | - | ||
80 | - try: | ||
81 | - return _queue.get(timeout=_interval) | ||
82 | - except: | ||
83 | - pass | ||
84 | - | ||
85 | -_thread = threading.Thread(target=_monitor) | ||
86 | -_thread.setDaemon(True) | ||
87 | - | ||
88 | -def _exiting(): | ||
89 | - try: | ||
90 | - _queue.put(True) | ||
91 | - except: | ||
92 | - pass | ||
93 | - _thread.join() | ||
94 | - | ||
95 | -atexit.register(_exiting) | ||
96 | - | ||
97 | -def track(path): | ||
98 | - if not path in _files: | ||
99 | - _files.append(path) | ||
100 | - | ||
101 | -def start(interval=1.0): | ||
102 | - global _interval | ||
103 | - if interval < _interval: | ||
104 | - _interval = interval | ||
105 | - | ||
106 | - global _running | ||
107 | - _lock.acquire() | ||
108 | - if not _running: | ||
109 | - prefix = 'monitor (pid=%d):' % os.getpid() | ||
110 | - print >> sys.stderr, '%s Starting change monitor.' % prefix | ||
111 | - _running = True | ||
112 | - _thread.start() | ||
113 | - _lock.release() |
wscacicneo/security.py
1 | +#!/usr/env python | ||
2 | +# -*- coding: utf-8 -*- | ||
1 | # # 1. carregar usuário da sessão | 3 | # # 1. carregar usuário da sessão |
2 | # # 2. carregar objeto usuário | 4 | # # 2. carregar objeto usuário |
3 | # # 3. pegar grupo do usuário | 5 | # # 3. pegar grupo do usuário |
@@ -20,4 +22,4 @@ def groupfinder(userid, request): | @@ -20,4 +22,4 @@ def groupfinder(userid, request): | ||
20 | ) | 22 | ) |
21 | usuario = user_obj.search_user_by_email(userid) | 23 | usuario = user_obj.search_user_by_email(userid) |
22 | permissao = usuario.results[0].permissao | 24 | permissao = usuario.results[0].permissao |
23 | - return [permissao] | ||
24 | \ No newline at end of file | 25 | \ No newline at end of file |
26 | + return [permissao] |
wscacicneo/utils/utils.py
1 | +#!/usr/env python | ||
2 | +# -*- coding: utf-8 -*- | ||
1 | import requests | 3 | import requests |
2 | import json | 4 | import json |
3 | import unicodedata | 5 | import unicodedata |
@@ -24,4 +26,4 @@ class Utils: | @@ -24,4 +26,4 @@ class Utils: | ||
24 | # Retorna uma string sem caracteres especiais(sem espaço e acentos). | 26 | # Retorna uma string sem caracteres especiais(sem espaço e acentos). |
25 | def format_name(data): | 27 | def format_name(data): |
26 | return ''.join(x for x in unicodedata.normalize('NFKD', data) if \ | 28 | return ''.join(x for x in unicodedata.normalize('NFKD', data) if \ |
27 | - unicodedata.category(x)[0] == 'L').lower() | ||
28 | \ No newline at end of file | 29 | \ No newline at end of file |
30 | + unicodedata.category(x)[0] == 'L').lower() |
wscacicneo/views.py
1 | +#!/usr/env python | ||
2 | +# -*- coding: utf-8 -*- | ||
1 | import requests | 3 | import requests |
2 | import json | 4 | import json |
3 | from pyramid.response import Response | 5 | from pyramid.response import Response |
4 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound | 6 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound |
5 | from pyramid.view import view_config | 7 | from pyramid.view import view_config |
6 | -from sqlalchemy.orm import sessionmaker | ||
7 | -from sqlalchemy import create_engine, MetaData | ||
8 | -from .models import ( | ||
9 | - DBSession, | ||
10 | - SistemaOperacional, | ||
11 | - ) | ||
12 | from wscacicneo.utils.utils import Utils | 8 | from wscacicneo.utils.utils import Utils |
13 | from wscacicneo.model.orgao import Orgao | 9 | from wscacicneo.model.orgao import Orgao |
14 | from wscacicneo.model.orgao import OrgaoBase | 10 | from wscacicneo.model.orgao import OrgaoBase |
@@ -30,11 +26,8 @@ from pyramid.security import ( | @@ -30,11 +26,8 @@ from pyramid.security import ( | ||
30 | forget, | 26 | forget, |
31 | ) | 27 | ) |
32 | 28 | ||
33 | -engine = create_engine('postgresql://rest:rest@localhost/cacic') | ||
34 | REST_URL = 'http://api.brlight.net/api' | 29 | REST_URL = 'http://api.brlight.net/api' |
35 | 30 | ||
36 | -Session = sessionmaker(bind=engine) | ||
37 | -session = Session() | ||
38 | 31 | ||
39 | # Views de configuração | 32 | # Views de configuração |
40 | @view_config(route_name='blankmaster', renderer='templates/blankmaster.pt') | 33 | @view_config(route_name='blankmaster', renderer='templates/blankmaster.pt') |