Ejemplo n.º 1
0
    def export(self):
        # # PATTERN? # #
        # move this all into render_template or this function into comdev.lib?
        #
        config = self.config
        today = self.params['today']
        path_templates_comdev = expand_path(
            config['paths']['templates'].get('comdev'))
        path_template = 'visa/invitation-letter.html'
        path_build = expand_path(config['paths']['build'])
        path_export = expand_path(config['paths']['export'])
        path_locale = expand_path(config['paths']['locale'])
        jinja2_env = get_jinja2_env(path_templates_comdev,
                                    path_build=path_build,
                                    path_locale=path_locale)
        content = render_template(jinja2_env, path_template, self.params)
        name = self.params.get('invitee_name').replace(' ', '-')
        path_file = 'visa-invitation-letter-{}-{}'.format(name, today)
        saveas(path_file, content, 'html', path_export)
        #
        # # END PATTERN? # #

        path_pdf = os.path.join(path_export, '{}.pdf'.format(path_file))
        path_saveas = os.path.join(path_export, path_file + '.html')
        #doc = Document()
        #doc.html = content
        #doc.to_file(path_pdf)
        import pdfkit
        pdfkit.from_file(path_saveas, path_pdf)
Ejemplo n.º 2
0
    def __init__(self, app_name, event_name, invitee_name, passport_number,
                 passport_expiration, passport_issued_by, invitee_citizenship,
                 dt_arrival, dt_departure):

        today = datetime.date.today().isoformat()

        self.params = {
            'today': today,
            'invitee_name': invitee_name,
            'passport_number': passport_number,
            'passport_expiration': passport_expiration,
            'passport_issued_by': passport_issued_by,
            'invitee_citizenship': invitee_citizenship,
            'dt_arrival': dt_arrival,
            'dt_departure': dt_departure,
        }

        self.config = config = load_config(app_name).get()
        event = config['events'][event_name]

        self.params.update(event)
        self.params.update(
            {k: expand_path(v) for k, v in self.params.items() if '~' in v})

        with open( self.params['event_description']) as f:
            content = ''.join(f.readlines())
            self.params['event_description'] = content
Ejemplo n.º 3
0
    def __init__(self, app_name):
        config = self.config = load_config(app_name)['firebase'].get()

        self.auth_conf = {
            "apiKey": config['api_key'],
            "authDomain": config['auth_domain'],
            "databaseURL": config['db_url'],
            "storageBucket": config['storage_bucket'],
            "serviceAccount": expand_path(config['service_account']),
        }
Ejemplo n.º 4
0
    def __init__(self, app_name, merge_path=None):
        self.app_name = app_name
        self.merge_path = merge_path

        config = load_config(app_name)
        paths = {k: expand_path(x) for k, x in config['paths'].get().items()}

        config = self.config = config['ldap'].get()

        self.base_query = config['base_query']
        self.path_cache = paths['cache']
        self.path_pickle = os.path.join(self.path_cache, 'ldap.pickle')
Ejemplo n.º 5
0
    def upload(self, path):
        if not self.exists:
            self.create()

        tmp_path = ''
        if isinstance(path, str) and not os.path.exists(path):
            log.debug('Invalid path; dumping content to temporary file')
            f, tmp_path = tempfile.mkstemp('.txt')
            with open(tmp_path, 'w') as outfile:
                outfile.write(path)
                path = tmp_path

        log.info('Uploading {} to {}'.format(path, self.pad_id))
        path = expand_path(path)
        params = {
            'padId': self.pad_id,
        }
        files = {
            'file': open(path, 'rb'),
            'filename': path,
        }
        response = requests.post(self.url_import,
                                 params=params,
                                 files=files,
                                 cookies=self.cookies)
        response.raise_for_status()

        ######
        token = re.findall("'.+?'", response.text)[1].strip("'")
        params = {
            'padId': self.pad_id,
            'token': token,
        }
        response = requests.post(self.url_import2,
                                 params=params,
                                 cookies=self.cookies)
        response.raise_for_status()

        if tmp_path:
            os.remove(tmp_path)
Ejemplo n.º 6
0
    def __init__(self, app_name, sender=None):
        config = load_config(app_name)
        paths = {k: expand_path(x) for k, x in config['paths'].get().items()}

        self.path_logs = paths['logs']

        #self._init_logging()

        config = self.config = config['gmail'].get()

        self.app_name = app_name
        self.sender = sender or self.config['sender']
        self.gmail_app = config['app_name']
        self.scopes = config['scopes']
        self.path_client_secret = os.path.expanduser(
            config['client_secret'])
        self.path_credentials = os.path.expanduser(
            config['credentials'])

        self.credentials = get_credentials(
            self.app_name, self.path_credentials, self.path_client_secret,
            self.scopes)
Ejemplo n.º 7
0
            row.extend([contact['email'], contact['display_name']])
    rows.append(row)

df = pandas.DataFrame(rows)
ipdb.set_trace()

raise

send = False
app_name = 'devconf'
sender = '*****@*****.**'
template = 'mail/'
subject = 'DevConf.cz 18 (Jan 26-28) - Submission Status Update'

config = load_config(app_name)
path_templates = expand_path(config['paths']['templates'].get())
path_export = expand_path(config['paths']['export'].get())

gmailer = Gmailer(app_name, sender)

env = jinja2.Environment(loader=jinja2.FileSystemLoader(path_templates))

allSpeakers = pandas.read_json(
    '/home/cward/Downloads/redhat-cfpoint-export.json').to_dict()['speakers']
allSubmissions = pandas.read_json(
    '/home/cward/Downloads/redhat-cfpoint-export.json').to_dict(
    )['responses']['2018']['qecampx18']

df = pandas.read_csv(
    '/home/cward/Downloads/QEcamp.18 Program (STRAWMAN DRAFT INCOMPLETE NOT FINAL) - Vote Results.csv'
)