# Copyright 2014 Lars Wirzenius # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # =*= License: GPL-3+ =*= import re import pgpwordlist def get_ticket_ids(settings, args): filename = settings['ticket-id-from'] if filename: return _read_ticket_ids_from_file(filename) else: return _ticket_ids_from_words(args) def _read_ticket_ids_from_file(filename): with open(filename) as f: return [line.strip() for line in f.readlines()] def _ticket_ids_from_words(args): ticket_ids = [] for arg in args: if _is_hex(arg): ticket_ids.append(arg) else: assert arg is not None, 'xxx: arg=%r' % arg ticket_ids.append(pgpwordlist.words_to_hex(arg)) return ticket_ids _hex_pat = re.compile(r'^[0-9a-fA-F]+$') def _is_hex(arg): return _hex_pat.match(arg) is not None