Esempio n. 1
0
File: UI.py Progetto: jay4jyotika/QR
 def takeSnapshot(self):
     self.answer.delete('0', 'end')
     proimg = self.frame.copy()
     ts = datetime.datetime.now()
     filename = "{}.jpg".format(ts.strftime("%Y-%m-%d_%H-%M-%S"))
     
     #print("Output", self.frame.copy())
     #print("Type", type(self.frame.copy()))
     """
     img = Image.open("images/25.jpg")
     text = pytesseract.image_to_string(self.frame.copy())
     print("answer", text)
     p = os.path.sep.join((self.outputPath, filename))
     #print(type(self.frame.copy()))
     # save the file
     """
     p = os.path.sep.join((self.outputPath, filename))
     cv2.imwrite(p, proimg)
     img = cv2.imread(p)
     text = extractor.main(img)
     print("[INFO] saved {}".format(filename))
     if text is '':
         self.answer.insert(1, "no data found")
     else:
         self.answer.insert(1, text)
Esempio n. 2
0
    def post(self, request, *args, **kwargs):
        if request.is_ajax():
            form = self.form_class(request.POST)

            ''' reCAPTCHA validation '''
            recaptcha_response = request.POST.get('recaptcha-response')
            data = {
                'secret': CAPTCHA_KEY,
                'response': recaptcha_response
            }
            r = requests.post('https://www.google.com/recaptcha/api/siteverify', data=data)
            result = r.json()
            ''' reCAPTCHA validation ends'''

            if form.is_valid() and result.get('success', ''):
                contact_list = main(form.cleaned_data["textarea"])
                saved, notsaved = separeate(contact_list)
                contacts = "You Have {} Saved Contacts\n\n".format(len(saved))
                contacts += "\r\n".join(saved)
                contacts += "\r\n\r\nYou have {} Contacts which are not saved\n\n".format(len(notsaved))
                contacts += "\r\n".join(notsaved)
                return JsonResponse({"contacts": contacts, "count": len(contact_list)})
            else:
                return JsonResponse({"error": "extraction failed!"})
        else:
            return JsonResponse({"status": False})
Esempio n. 3
0
def extract_files(projno, funcno, studentdir):
    """
    Extract function(s) from files. If funcno < 0, extracts all functions from
    the given project.
    """
    cwd = os.getcwd()
    sys.path.insert(0, cwd + "/projects/project" + str(projno))
    info = importlib.import_module('description')
    ## Remove the path to avoid keeping old paths
    sys.path.pop(0)
    
    if funcno < 0:
        numfuncs = len(info.funclist)
        funcnos = range(numfuncs)
    else:
        funcnos = [funcno]

    outputdir = cwd + "/extracted_files/proj" + str(projno) + "_func"
    funcnames = [info.funclist[int(fno)] for fno in funcnos]

    extractor.main(os.path.abspath(studentdir), outputdir, funcnos, 
        funcnames) 
Esempio n. 4
0
def gen_rels(seeds, test=False):
    exps = ["S1D1", "S1D2", "S4D1", "S4D2"]
    gen_folder = "test" if test else "valid"
    for seed in seeds:
        for exp in exps:
            sysname = get_sys(exp)
            avg = sysname == "S1"
            midstr = "_avg" if avg else ""
            datafile = get_datafile_path(exp)
            dict_pfx = get_dict_pfx(exp)
            ignore_idx = get_ignore_idx(exp)
            eval_models = get_eval_models(exp)
            pred_files = get_predictions(seed, exp, test)
            for pred_file in pred_files:
                step = get_model_steps(pred_file)
                preddata = "experiments/exp-seed-{}/exp-{}/gens/{}_ex/predictions{}_{}.h5".format(
                    seed, exp, gen_folder, midstr, step)
                tupfile = preddata + "-tuples.txt"
                if os.path.exists(tupfile):
                    logger.info("tuple file already exists:{}".format(tupfile))
                    continue
                sys.argv = [
                    sys.argv[0], "-datafile", datafile, "-preddata", preddata,
                    "-dict_pfx", dict_pfx, "-ignore_idx",
                    str(ignore_idx), "-eval_models", eval_models, "-just_eval"
                ]
                if test:
                    sys.argv.append("-test")
                gtag = generate_h5(seed, exp, step, test, avg)
                if gtag:
                    main()
                    remove_h5(seed, exp, step, test, avg)
                else:
                    logger.info(
                        "gen h5 file error, seed:{} exp:{} step:{} test:{}".
                        format(seed, exp, step, test))
Esempio n. 5
0
#!/usr/bin/python

import extractor  #Importing extractor Class
from sys import argv  #Importing argv support

(script, argument) = argv

extractor.main(argument)
Esempio n. 6
0
from extractor import main
from pprint import pprint

main()
Esempio n. 7
0
def main(flag):
    global current_directory, extract_directory, cache_directory, scripts_directory, main_files

    # Получение имени папки проекта
    file_name = re.findall(r'\\\w+\.[\.\w\d-]*$', sys.argv[1])
    project_folder = 'Decompiled_' + file_name[0].split('.', 1)[0].replace(
        '\\', '') + '_' + str(uuid4())[:5]
    print(Fore.YELLOW + '[>] Project folder name: %s' % project_folder)

    # Получение текущей директории
    current_directory = join(root, project_folder)

    # Папка в которой будет содержимое ехе файла
    extract_directory = join(current_directory, 'Extracted')

    # Если установлен флаг ехе начнется распаковка приложения
    if flag == '.exe':
        # Папка в которой будет хранится байт-код подключаймых модулей
        cache_directory = join(current_directory, 'Pycache')

        # Объявление папки для сохранения скриптов используймых модулей
        modules_directory = join(current_directory, 'Modules')

        # Объявление папки для сохранения основных скриптов программы
        scripts_directory = join(current_directory, 'Main')

        # Создание папок
        create_directory(current_directory, extract_directory,
                         modules_directory, cache_directory, scripts_directory)

        # Передача extractor'у пути для сохранения кеша модулей
        extractor.set_cache_path(cache_directory)

        # Передача extractor'у пути для сохранения содержимого ехе файла
        extractor.set_extra_path(extract_directory)

        # Запуск декомпиляции проекта с помощью модуля extractor
        try:
            extractor.main()

            # Получениие списка возможних файлов
            main_files = extractor.get_main_files()

            for f in main_files:
                rename(join(extract_directory, f),
                       join(extract_directory, f + '.pyc'))

            # Декомпиляция файлов в скрипт
            cache_decompiler(main_files, extract_directory, scripts_directory)

            # Спрашивает нужно ли компилоровать все .pyc файлы
            while True and auto_lib_decompiling is None:
                answer = input(
                    '[?] Decompile all pycache files? (y/n): ').lower()
                if answer == 'y':
                    # Декомпиляция файлов в скрипт
                    cache_decompiler(None, cache_directory, modules_directory)
                    break
                if answer == 'n':
                    break
        except:
            try:
                print(Fore.YELLOW + '[>] Beginning extraction with py2exe!')
                unpy2exe.unpy2exe(sys.argv[1], '%s.%s' % sys.version_info[0:2],
                                  extract_directory)
                print(Fore.GREEN + '[>] decoding completed successfully!')
                # Декомпиляция файлов в скрипт
                cache_decompiler(None, extract_directory, scripts_directory)
            except Exception as e:  #Обычно возникает когда файл не той же версии что и питон!
                print(Fore.RED + '[!] %s' % e)
                print(Fore.RED + '[!] The program can not decompile the file!')
                open_directory(extract_directory)

    # Если установлен флаг 'pyc' начнется распаковка файлов кэша
    if flag == '.pyc':
        # Создание папки для сохранения основных скриптов программы
        create_directory(current_directory)

        # Получение файла для декеширования
        file = [sys.argv[1]]

        # Декомпиляция файлов в скрипты
        cache_decompiler(file, current_directory, current_directory)
Esempio n. 8
0
def main(file_name, dest_path):
	with open(file_name, 'r') as f:
		vids = f.readlines()
	vids = [v.strip() for v in vids]
	extractor.main(vids, base_path_to_chk_pts='./data/checkpoints', dest_path=dest_path)
Esempio n. 9
0
import scorer
import gflags
import logger
FLAGS = gflags.FLAGS

if __name__ == '__main__':
    try:
        argv = FLAGS(sys.argv)  # parse flags
    except gflags.FlagsError as e:
        print('%s\nUsage: %s ARGS\n%s' % (e, sys.argv[0], FLAGS))
        sys.exit(1)

    import __main__
    mydir = os.path.dirname(__main__.__file__)

    if os.path.exists(FLAGS.rule_dump):
        logger.writeln('unfiltered rules exists: %s' % FLAGS.rule_dump)
    else:
        extractor.main()

    FLAGS.filter_file = FLAGS.input
    scorer.main()

    glue_grammar = os.path.join(mydir, 'test-extractor/monotonic_glue.gr')
    if FLAGS.persent is None:
        FLAGS.grammars = [FLAGS.filtered, glue_grammar]
    else:
        FLAGS.grammars = [FLAGS.persent, glue_grammar]

    decoder.main()
def load_from_url(url, uploading=False):
    #The function with the metadata mapping,
    xmlstring = urlopen(url).read()
    xmldoc = minidom.parseString(xmlstring)
    itemlist = xmldoc.getElementsByTagName('channel')
    for s in itemlist:
        filelist = s.getElementsByTagName("item")
        for file in filelist:
            articletext = '== {{int:filedesc}} ==\n{{Photograph\n |photographer       = '
            collection = file.getElementsByTagName("dc:isPartOf")
            creator = file.getElementsByTagName(
                "dc:creator")[0].firstChild.data
            if creator == '[onbekend]' or creator == 'Onbekend' or creator == 'Fotograaf Onbekend':
                articletext += '{{unknown}}'
                hasPhotographerInDict = False
            elif creator == 'Fotograaf Onbekend / Anefo':
                articletext += '{{unknown}} (Anefo)'
                hasPhotographerInDict = False
            elif creator == 'Fotograaf Onbekend / DLC':
                articletext += '{{unknown}} (Fotocollectie Dienst voor Legercontacten Indonesië)'
                hasPhotographerInDict = False
            else:
                hasPhotographerInDict, photographerName, isAnefo = photographers_dict(
                    creator)
                if hasPhotographerInDict:
                    articletext += photographerName
                else:
                    articletext += creator
                if isAnefo:
                    articletext += ' (Anefo)'
            articletext += '\n |title              = {{nl|'
            if file.getElementsByTagName("title")[0].firstChild:
                title = file.getElementsByTagName("title")[0].firstChild.data
            else:
                title = 'zonder titel'
            articletext += title
            articletext += '}}\n |description        = {{nl|'
            if file.getElementsByTagName("description")[0].firstChild:
                description = file.getElementsByTagName(
                    "description")[0].firstChild.data
            else:
                description = title
            articletext += description + '}}\n |depicted people    = '
            subjects = file.getElementsByTagName("dc:subject")
            for sub in subjects:
                if sub.getAttribute(
                        'rdf:about'
                ) == 'http://www.gahetna.nl/dc/subject/Persoons_instellingsnaam':
                    articletext += sub.firstChild.data + ' '
            articletext += '\n |depicted place     =\n |date               = '
            date = file.getElementsByTagName("dc:date")[0].firstChild.data
            articletext += date + '\n |medium             = {{nl|'
            type = file.getElementsByTagName("dc:type")
            for ty in type:
                medium = ty.firstChild.data
            collectionname = collection[1].firstChild.data
            reportagename = collection[2].firstChild.data
            articletext += medium
            articletext += '}}\n |dimensions         =\n |institution        = Nationaal Archief\n |department         = ' + collection[
                1].firstChild.data
            if reportagename != '[ onbekend ]':
                articletext += ', ' + reportagename
            articletext += '\n |references         =\n |object history     =\n |exhibition history =\n |credit line        = '
            articletext += ''  #add creditline +
            articletext += '\n |inscriptions       =\n |notes              =\n |accession number   = '
            identifiers = file.getElementsByTagName("dc:identifier")
            for id in identifiers:
                identifier = id.firstChild.data
            for partof in collection:
                a = re.match('([0-9\.]+)', partof.firstChild.data)
                if a != None:
                    archiefinventaris = a.group(0)
            articletext += archiefinventaris + ' (archive inventory number), ' + identifier + ' (file number)\n |source             = '
            link = file.getElementsByTagName("link")[0].firstChild.data
            UUID = re.search('([\d\w\-]*)$', link).group(0)
            articletext += 'Nationaal Archief, ' + collectionname + ', {{Nationaal Archief-source|UUID=' + UUID + '|file_share_id=' + identifier + '}}\n |permission         = '
            r = file.getElementsByTagName("right")
            for r2 in r:
                if r2.getAttribute('name') == 'Public Domain':
                    if r2.firstChild.data == 'TRUE':
                        permission = 'Public Domain'
                        license = '{{PD-old}}'

                elif r2.getAttribute('name') == 'CC BY':
                    if r2.firstChild.data == 'TRUE':
                        permission = 'CC BY 4.0'
                        license = '{{cc-by-4.0}}'

                elif r2.getAttribute('name') == 'CC BY SA':
                    if r2.firstChild.data == 'TRUE':
                        permission = 'CC BY SA 4.0'
                        license = '{{cc-by-sa-4.0}}'
            articletext += permission + '\n |other_versions     =\n }}\n\n== {{int:license-header}} ==\n{{Nationaal Archief}}\n' + license + '\n\n'
            if hasPhotographerInDict:
                articletext += '[[Category:Photographs by ' + photographerName + ']]\n'
            if title == description:
                categories = main(title)
            else:
                categories += main(title)
                categories = main(description)
            categories += main(collectionname)
            for category in categories:
                articletext += '[[Category:' + category + ']]\n'
                print category

            images = file.getElementsByTagName("ese:isShownBy")
            gotimage = False
            for image in images:
                if '10000x10000' in image.firstChild.data and not gotimage:
                    print(image.firstChild.data)
                    gotimage = True
                    image_url = image.firstChild.data

            if len(title) > 85:
                #cut off the description if it's longer than 85 tokens at a space around 85.
                filetitle = title[:90]
                cutposition = filetitle.rfind(' ')
                if (cutposition > 20):
                    filetitle = re.sub('[:/#\[\]\{\}<>\|_]', '',
                                       unidecode(filetitle[:cutposition]))
            else:
                filetitle = re.sub('[:/#\[\]\{\}<>\|_;\?]', '',
                                   unidecode(title))
            articletitle = filetitle + ' - Nationaal Archief - ' + identifier + '.jpg'
            print(articletitle.encode('utf-8'))
            print(articletext.encode('utf-8'))
            print(image_url.encode('utf-8'))
            if uploading:
                upload_file(image_url, articletext, articletitle)
Esempio n. 11
0
#!/usr/bin/python

import extractor #Importing extractor Class
from sys import argv #Importing argv support 

(script, argument) = argv

extractor.main(argument)