diff --git a/printer.copy2.py b/printer.copy2.py deleted file mode 100755 index db1bf33..0000000 --- a/printer.copy2.py +++ /dev/null @@ -1,178 +0,0 @@ -#!/usr/bin/env python3 - -import readings -from pprint import pprint -import re, sys, glob -from escpos import escpos -from sys import stdin, stderr, stdout -from time import sleep - -import nltk -from nltk.tokenize import RegexpTokenizer -tokenizer = RegexpTokenizer(r'\w+') # initialize tokenizer - -connected = True - -def check_printer_path(): - printers = glob.glob('/dev/usb/lp*') - if printers: - return printers[0] - else: - return None - -def char_swap(some_string): - swaps = [('–','-'), ('“','"'),('”','"'),('ù','u'), ("’","'"), ('à','a'), ('â','a'),('é','e'),('è','e'),('î','i')] - for swap in swaps: - some_string = some_string.replace(swap[0], swap[1]) - return some_string - -def insert_linebreaks(string, linelength): - count = 0 - tmp = '' - new = '' - for x, ch in enumerate(string): - tmp_ch = [] - if ch == ' ': - count = count + 1 - if count < linelength: - tmp += ' ' - else: - new += tmp + '\n' - tmp = '' - count = 0 - elif x+1 == len(string): - new += tmp + ch - else: - tmp += ch - count += 1 - return new - -def printNow(query, results, results_count): - if connected == True: -<<<<<<< HEAD:printer.copy.py - printerpath = '/dev/usb/lp0' - stdout = open(printerpath, 'w') - #print('printingNow') - print(escpos['reset'], file=stdout, flush=True) - print(escpos['init_printer'], file=stdout, flush=True) - #print(escpos['select_INT_character_set'], file=stdout, flush=True) - #print(escpos['select_character_code_table'], file=stdout, flush=True) - print(escpos['margin_left'], file=stdout, flush=True) - print(escpos['justify_center'], file=stdout, flush=True) - - printed = False - - if results_count == None or results_count == 'None': - results_count = 0 - results_count_max = results_count + 5 - current_count = 0 - for x, document in results.items(): - for n, sentence in enumerate(document['matches']): - #print('current_count', current_count) - if current_count == results_count: - printed = True - if results_count < results_count_max: - #print('results_count', results_count) - results_count += 1 - sentence = str(sentence) # Turn Flask Markup object back to normal python string - print(type(sentence)) - sentence = char_swap(sentence) - query = char_swap(query) - sentence = sentence.replace('\n', ' ').replace(' ', ' ') - pattern = r'[\s\W\_]'+query+r'[\s\W\_\n]|^'+query+'|'+query+'$' - match = re.search(pattern, sentence, flags=re.IGNORECASE) - # print('match:', match) - if match: - match = match.group() - sentence_splitted = re.compile(match).split(sentence) # find the query in the sentence, and split the sentence up - # print('sentence splitted:', sentence_splitted) - for i, part in enumerate(sentence_splitted): - if n == 0: # first sentence of this document - if i == 0: # start of a new sentence - print('', file=stdout, flush=True) - linebreak = ''' ** -======= - printerpath = check_printer_path() - try: - print_pointer = open(printerpath, 'w') if printerpath else sys.__stdout__ - print(escpos['reset'], file=print_pointer, flush=True) - print(escpos['init_printer'], file=print_pointer, flush=True) - print(escpos['margin_left'], file=print_pointer, flush=True) - print(escpos['justify_center'], file=print_pointer, flush=True) - - printed = False - - if results_count == None or results_count == 'None': - results_count = 0 - results_count_max = results_count + 5 - current_count = 0 - for x, document in results.items(): - for n, sentence in enumerate(document['matches']): - if current_count == results_count: - printed = True - if results_count < results_count_max: - results_count += 1 - sentence = str(sentence) # Turn Flask Markup object back to normal python string - sentence = char_swap(sentence) - query = char_swap(query) - sentence = sentence.replace('\n', ' ').replace(' ', ' ') - pattern = r'[\s\W\_]'+query+r'[\s\W\_\n]|^'+query+'|'+query+'$' - match = re.search(pattern, sentence, flags=re.IGNORECASE) - if match: - match = match.group() - sentence_splitted = re.compile(match).split(sentence) # find the query in the sentence, and split the sentence up - for i, part in enumerate(sentence_splitted): - if n == 0: # first sentence of this document - if i == 0: # start of a new sentence - print('', file=print_pointer, flush=True) - linebreak = ''' ** ->>>>>>> ec1810933685c09c541b30d02ac278373a104994:printer.py - ** /** ** - //** /** ** - ************** -///**//**//**/ - ** /** //** - // /** // - // ''' - print(linebreak, file=print_pointer, flush=True) # print line break ascii art - print('\n', file=print_pointer, flush=True) - title = insert_linebreaks(document['name'], 13) - print(escpos['largefont'], title, escpos['normalfont'], file=print_pointer, flush=True) # print the document name - print('\n', file=print_pointer, flush=True) - - # start of sentence - part = insert_linebreaks(part, 35) - print(part, file=print_pointer, flush=True) # print current part of sentence - - if i + 1 != len(sentence_splitted): # if this part is not the last one - print(escpos['bold'], match, escpos['reset'], file=print_pointer, flush=True) # print query - - # line breaker after each sentence - if i + 1 == len(sentence_splitted): - print('\n | \n', file=print_pointer, flush=True) - sleep(3) - current_count += 1 - - print(escpos['paperfeed_1l'], file=print_pointer, flush=True) - print(escpos['paperfeed_1l'], file=print_pointer, flush=True) - print(escpos['paperfeed_1l'], file=print_pointer, flush=True) - sleep(3) - print(escpos['papercut'], file=print_pointer, flush=True) - print(escpos['reset'], file=print_pointer, flush=True) - - # reset when all results are printed - if printed == False: - results_count = 0 - # printNow(query, results, results_count) - - return results_count - - except: - e = sys.exc_info()[0] - print("Could not print: {}".format(e)) - return 0 - -# query = 'noise' -# results, _, _ = readings.request_results(query) -# pprint(results) -# printNow(query, results, 0) diff --git a/printer.thisone.py b/printer.py similarity index 100% rename from printer.thisone.py rename to printer.py