コード例 #1
0
 def internal_error(self, what, *pars):
     ext_sleep = 0
     if what == 'noopen':
         err = u'13Ошибка открытия файла ^15_%s' % pars[0]
     elif what == 'nofile':
         err = u'13Не передали файл параметром!'
     elif what == 'no_ext':
         err = u'13Не определили расширение файла ^15_%s' % pars[0]
     elif what == 'nogenerator':
         err = u'13Не создан генератор (Generator)'
     elif what == 'no_ids':
         err = u'13Закончились сгенерированные последовательности\n'
         err += u'Увеличьте количество символов для генерации\n'
         err += u'Сейчас сгенерировано ^15_%d ^13_последовательностей' % pars[
             0]
         ext_sleep = 2
     elif what == 'already':
         err = u'13Файл ^15_%s ^13_уже защищён.\nПовторная защита не допускается.' % pars[
             0]
         ext_sleep = 1
     else:
         cp.cprint(u'12Неизвестная ошибка!')
     cp.cprint(err)
     # cp.cprint(u'14---------------   ^12_ERROR   ^14_---------------')
     # raw_input('---------------   END   ---------------')
     time.sleep(3 + ext_sleep)
     exit(1)
コード例 #2
0
def read_settings(filename_config):
    params = {}
    fileini = os.path.join(PATH_SCRIPT, filename_config)
    if not os.path.isfile(fileini):
        cp.cprint(u'13Ошибка открытия файла ^15_%s' % filename_config)
        time.sleep(3 + ext_sleep)
        exit(1)
    settings = Ini(fileini)

    settings.set_name_section('Global')
    sec_param = settings.get_allparam()
    sec_param = {i[0]: i[1] for i in sec_param}
    params['fin'] = sec_param.get('suffix_decode', u'').decode('utf-8')
    params['fout'] = sec_param.get('suffix_protection', u'').decode('utf-8')
    params['fcod'] = sec_param.get('code', 'cp1251').decode('utf-8')

    settings.set_name_section('Encoder')
    sec_param = settings.get_allparam()
    sec_param = {i[0]: i[1] for i in sec_param}
    # print sec_param
    params['symbols'] = sec_param.get('symbols', u'hbdp').decode('utf-8')
    params['length'] = int(sec_param.get('length', 8))
    params['edging'] = sec_param.get('edging', u'q').decode('utf-8')
    params['delspaces'] = to_bool(
        sec_param.get('del_spaces', 'False').decode('utf-8'))
    params['delcomments'] = to_bool(
        sec_param.get('del_comments', 'False').decode('utf-8'))
    params['levels'] = int(sec_param.get('levels', 1))
    params['console'] = to_bool(
        sec_param.get('console', 'False').decode('utf-8'))
    params['statistics'] = to_bool(
        sec_param.get('statistics', 'False').decode('utf-8'))
    # print params
    return params
コード例 #3
0
    def print_stat_table(self, counter, max_key):
        values = [val for key, val in counter.items()]
        if not values: return
        values.sort(reverse=True)
        max_val = values[0]
        print 'max count  ', max_val
        # print counter

        cp.cprint2(u'5\n%s' %
                   (u'График количества строк по длине строки'.center(80)))
        cp.cprint2(u'8%s' % ('-' * 80))
        over80 = 0
        for line in range(max_val, -1, -1):
            sp = []
            for i in range(max_key + 1):
                val = counter.get(i, 0)
                if i > 79 and val > line:
                    over80 += 1
                if i % 3 == 0:
                    color = 2
                elif (i - 1) % 3 == 0:
                    color = 3
                else:
                    color = 6
                if val > line:
                    if sp:
                        sp.append('^%d_' % color)
                    else:
                        sp.append(str(color))
                    sp.append('I')
                else:
                    sp.append(' ')
            cp.cprint2(u'%s\r' % (''.join(sp)))

        s1 = [str(n) for n in range(0, 10, 3)]
        s1b = [str(n) for n in range(12, 79, 3)]
        s2 = [str(n) for n in range(1, 10, 3)]
        s2b = [str(n) for n in range(10, 79, 3)]
        s3 = [str(n) for n in range(2, 10, 3)]
        s3b = [str(n) for n in range(11, 79, 3)]
        cp.cprint2(u'8%s\r' % ('-' * 80))
        cp.cprint2(u'2_%s  %s' % ('  '.join(s1), ' '.join(s1b)))
        cp.cprint2(u'3_ %s  %s\n' % ('  '.join(s2), ' '.join(s2b)))
        cp.cprint(u'6_  %s  %s\n' % ('  '.join(s3), ' '.join(s3b)))
        if over80:
            cp.cprint(u'5Строк длиной 80 символов и более ^15_%d ^5_шт.' %
                      over80)
コード例 #4
0
 def run(self):
     self.create_ids(self.symbols, self.length, self.edging)
     len_ids = len(self.ids)
     for filename in self.files:
         cp.cprint(u'1свободных ids: ^15_%d' % (len(self.ids)))
         print
         cp.cprint(u'1Обрабатываем файл:')
         cp.cprint(u'3_%s \n' % filename)
         class_enc = EncoderCMS(filename, self.fin, self.fout, self.fcod,
                                self.ids, len_ids, self.console)
         self.ids = class_enc.encode_(self.delspace, self.delcomment,
                                      self.levels, self.stat_freq)
         if self.console:
             print u'\nВернулось %d шт. ids' % len(self.ids)
             print '\n%s' % ('-' * 80)
     cp.cprint(u"3Всего затрачено ^15_%d шт. ^3_'ids'\n" %
               (len_ids - len(self.ids)))
コード例 #5
0
    # position_quotes = EncoderCMS.get_position_symbol(st, '"')
    # exit()

    filename_config = u'settings_encrypt.ini'
    params = read_settings(filename_config)

    # fin =     u'_decode'        # суффикс входного файла
    # fout =    u'_protection'    # суффикс выходного файла
    # fcod =    'cp1251'          # кодировка выходного файла
    # symbols = 'hbdp'            # набор символов для генерации последовательности
    # length =  8                 # длина основной части последовательности
    # edging =  'q'               # символы обрамления
    # delspaces = False           # удалять пустые строки
    # delcomments = False         # удалять комментарии
    # levels = 1                  # количество проходов кодирования
    # console = True              # показывать процесс
    # statistics = False          # статистика количества строк по длине строки

    GeneralEncoder(**params).run()

    # time.sleep(1)
    # raw_input('---------------   END   ---------------')
    cp.cprint(u'2------------   Скрипт защищён   ----------\n')
    raw_input()

# ------------------------------------------------------------------------------
# chdir /D D:\Яндекс Диск\_Python\A_Python\Encrypt_CMS
# python "D:\Яндекс Диск\_Python\A_Python\Encrypt_CMS\Encode_CMS.py" My_encr_011_decode.cms
# python "D:\Яндекс Диск\_Python\A_Python\Encrypt_CMS\Encode_CMS.py" Test_script.cms My_encr_011_decode.cms
# python "D:\Яндекс Диск\_Python\A_Python\Encrypt_CMS\Encode_CMS.py" Luhn_check_small.cms