def decorated_function(*args, **kwargs): request_data = request.get_json() required_fields = ['name', 'mail', 'password'] mail_taken = AuthServices.check_for_user(request_data.get('mail')) for key in required_fields: if key not in request_data: pass if key == 'mail': try: Parser.parse_email(request_data.get('mail'), mail_taken) except EmailFormatException as e: message = construct_response_message(message=e.error_message) return json.dumps(message), Status.HTTP_406_NOT_ACCEPTABLE except AccountAlreadyExist as e: message = construct_response_message(message=e.error_message) return json.dumps(message), Status.HTTP_406_NOT_ACCEPTABLE if key == 'password': try: Parser.parse_password(request_data.get('password')) except PasswordLengthException as e: message = construct_response_message(message=e.error_message) return json.dumps(message), Status.HTTP_400_BAD_REQUEST return fn(request_data)
def process_new_file(event): time.sleep(1) print("Initiating processing of file " + event.src_path) try: validator = Validator(event.src_path) if validator.is_valid(): parser = Parser(event.src_path) data = parser.parse() else: move_file(event.src_path, ARCHIVE_FILED_FILES) print("File %s is not valid" % event.src_path) return database = DataBase() database.store_product(data) presta_db = PrestaShopDB() presta_db.update_quantity(data.Reference, data.Stock) # post to presta # delete file # log # fail manda email print("Received created event - %s." % event.src_path) move_file(event.src_path, ARCHIVE_FILES) except Exception as e: print("Failed to process file - %s." % event.src_path) print(str(e)) move_file(event.src_path, ARCHIVE_FILED_FILES)
def go(ch, method, properties, body): cmd = body.decode('utf8') if False: pass elif cmd == 'pull_urls': parser = Parser() parser.pull_urls() ch.basic_ack(delivery_tag=method.delivery_tag)
def decorated_function(*args, **kwargs): request_data = request.get_json() password = request_data.get('password') try: Parser.parse_password(password) except PasswordLengthException as e: message = construct_response_message(message=e.error_message) return json.dumps(message), Status.HTTP_400_BAD_REQUEST return fn(request_data)
def handle(self, *args, **options): base_urls = OfferUrl.objects.filter(is_supervised__exact=False).all() for base_url in base_urls: html_repository = HtmlOfferRepository( base_url.offer_provider.provider) provider = Parser(base_url.offer_provider.provider) pages_count = provider.get_pages_count(base_url.url) for page in range(1, pages_count + 1): list_url = base_url.url + '?page=' + str(page) print(list_url) offers_urls = provider.get_offers_urls(list_url) if len(offers_urls) < 1: continue for offer_url in offers_urls: print(' -', offer_url) offer_content = provider.get_content_by_url(offer_url) offer_content_disp = ContentDispatcher(offer_content) offer_items = offer_content_disp.get_items() offer_items_data = [] for offer_item in offer_items: data = offer_item.__dict__ offer_items_data.append(data) offer_data = { 'title': offer_content_disp.get_title(), 'rules': offer_content_disp.get_rules(), 'offer_url': offer_url, 'created_at': datetime.now(), 'items': offer_items_data, } db.offers.insert_one(offer_data)
def index(request): reader = CsvReader('SpendingCoach/sample.csv') parser = Parser(reader) # for index, data in parser: # results.append({}) pprint.PrettyPrinter() pprint.pprint(parser.parse()) income = 0.00 expense = 0.00 for p in parser.parse(): if p['is_expense'] is True: expense += float(p['amount']) else: income += float(p['amount']) result = {"income": income, "expense": expense} return TemplateResponse(request, "dashboard.html", result)
class HtmlOfferRepository(OfferRepository): @contract def __init__(self, provider_name: str): self.set_provider_name(provider_name) @contract def set_provider_name(self, provider_name: str): self.parser = Parser(provider_name) @contract def add(self, offer_entity: OfferEntity): return self @contract def get_by_url(self, url: str) -> OfferEntity: return self.parser.get_offer_entity_by_url(url)
def test_get_cats(self): urls = Parser.get_provider_urls('kupikupon', 'https://kupikupon.ru') self.assertIsInstance(urls, list)
def set_provider_name(self, provider_name: str): self.parser = Parser(provider_name)
def test_parser(self): reader = CsvReader('tests/samples/sample_statement.csv') parser = Parser(reader) pprint.PrettyPrinter() pprint.pprint(parser.parse())
def go(ch, method, properties, body): offer_id = body.decode('utf8') parser = Parser() parser.pull_offer_by_id(offer_id) ch.basic_ack(delivery_tag=method.delivery_tag)
from configuration import dir_path from services.parser import Parser from services.inverter import Inverter if __name__ == "__main__": parser = Parser() parser.run(dir_path) inverted_index = Inverter.invert_index(parser.term_doc_df) inverted_index = inverted_index.select("termID", "docID").toPandas() inverted_index['termID'] = inverted_index["termID"].apply(int) inverted_index.to_csv("invertedIndex.csv", index=False)
from services.parser import Parser from services.downloader import Downloader from services.printer import Printer args_parser = argparse.ArgumentParser() args_parser.add_argument("url", help="the dictinoary url you want to download") args_parser.add_argument( "--output", help="output to specific path, default is current path", default=os.getcwd()) args_parser.add_argument( "--workers", help="the number used to download multiple files at sametime, default is 5", default=5, type=int) args = args_parser.parse_args() php_directory_lister_parser = Parser() downloader = Downloader(args.workers) printer = Printer() downloader.on_download_progress_updated( lambda current, total, filename: \ printer.print_progress(current, total, filename) if current < total else printer.completed(filename) ) php_directory_lister_parser.on_folder_updated( lambda link: downloader.download(link, args.output)) php_directory_lister_parser.walk_folder_tree(args.url)