Advertisement
Guest User

Programa_1X

a guest
Feb 22nd, 2017
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 12.48 KB | None | 0 0
  1.  
  2.      # **************************************************************************
  3.      # *               Programador: Victor -  Version: 1.0                      *
  4.      # **************************************************************************
  5.  
  6. import os
  7. import time
  8. import datetime
  9.  
  10.  
  11. def exit_sub():
  12.     pin = str(time.strftime('%a'))
  13.     if str(pin) == 'Sat' or str(pin) == 'Sun':
  14.         os.system('cls')
  15.         print ('Feliz fin de semama!!')
  16.         time.sleep(3)
  17.         os.system('cls')
  18.     return
  19.  
  20.  
  21. def registry_delete():
  22.     os.system('cls')
  23.     try:
  24.         write_doc('documentos_totales', '')
  25.         box_1('Se ha limpiado el registro de documentos')
  26.         principal()
  27.     except:
  28.         print ('Se ha producido un error, verifique que esten los archivos necesarios')
  29.         os.system('cls')
  30.         principal()
  31.     return
  32.  
  33.  
  34. def write_doc(my_doc, new_text):
  35.     try:
  36.         doc1 = open(my_doc + '.txt', 'w+')
  37.         doc1.write(new_text)
  38.         doc1.close()
  39.     except:
  40.         my_error = True
  41.     return
  42.  
  43.  
  44. def list_document():
  45.     global chain
  46.     os.system('cls')
  47.     box_1('Cargando lista de documentos')
  48.     data_read('documentos_totales.txt')
  49.     array_1 = []
  50.     array_1 = chain.split('*')
  51.     count_doc = 0
  52.     for doc in array_1:
  53.         count_doc = count_doc + 1
  54.         print (str(doc) + '\n')
  55.     print ('Documentos totales: ' + str(count_doc - 1))
  56.     time.sleep(5)
  57.     readkey = input('Presione una tecla para continuar...')
  58.     os.system('cls')
  59.     principal()
  60.     return
  61.  
  62.  
  63. def save_document(document_input):
  64.     global chain
  65.     try:
  66.         data_read('documentos_totales.txt')
  67.         chain = chain + '*' + str(document_input)
  68.         doc_hand = open('documentos_totales.txt', 'w+')
  69.         doc_hand.write(chain)
  70.         doc_hand.close()
  71.         os.system('cls')
  72.     except:
  73.         box_1('Se ha producido un error, intente mas tarde')
  74.     return
  75.  
  76.  
  77. def exit_1():
  78.     exit_sub()
  79.     os.system('cls')
  80.     box_1('Gracias por usar este software')
  81.     exit()
  82.     return
  83.  
  84.  
  85. def graph(title_1):
  86.     os.system('cls')
  87.     line = '_' * 20
  88.     title = title_1.upper()
  89.     print (line + str(line)[1:10] + '\n')
  90.     print (str(title))
  91.     print (line + str(line[1:10]) + '\n')
  92.     time.sleep(3)
  93.     return
  94.  
  95.  
  96. def info():
  97.     os.system('cls')
  98.     box_1('Cargando informacion....')
  99.     dictionary = \
  100.         {'creditos': 'Software desarrollado por Cantonsoft Systems',
  101.          'plataforma': 'Software programado en Python',
  102.          'programador': 'Desarrollado por Victor'}
  103.     request = \
  104.         input('1-Creditos de este software 2-Plataforma de desarrollo 3- Programador'
  105.                + '\n')
  106.     os.system('cls')
  107.     request_1 = int(request)
  108.     if request_1 < 1 or request_1 > 3:
  109.         os.system('cls')
  110.         print ('Opcion no valida!!!')
  111.         time.sleep(3)
  112.         info()
  113.     if request_1 == 1:
  114.         data_log = dictionary['creditos']
  115.         box_1(data_log)
  116.         principal()
  117.     if request_1 == 2:
  118.         data_log = dictionary['plataforma']
  119.         box_1(data_log)
  120.         principal()
  121.     if request_1 == 3:
  122.         data_log = dictionary['programador']
  123.         box_1(data_log)
  124.         principal()
  125.     principal()
  126.     return
  127.  
  128.  
  129. def simple_read():
  130.     tuple_1 = ('$$$', '%%%', '<<<', '>>>', '___')
  131.     box_1('Preparando sistema....')
  132.     global chain
  133.     target_poo = input('Que documento desea leer ? ')
  134.     target_poo = target_poo + '.txt'
  135.     data_read(target_poo)
  136.     get_result = str(chain)
  137.     marker = False
  138.     for item in tuple_1:
  139.         if get_result.count(item) >= 1:
  140.             marker = True
  141.     long_chain = len(get_result)
  142.     message = 'Cantidad de caracteres: ' + str(long_chain)
  143.     if marker == True:
  144.         message = message + '\n' \
  145.             + '(Este documento contiene texto encriptado)' + '\n'
  146.     os.system('cls')
  147.     print (get_result + '\n')
  148.     print (message)
  149.     readkey = input('')
  150.     time.sleep(3)
  151.     os.system('cls')
  152.     principal()
  153.     return
  154.  
  155.  
  156. def update():
  157.     os.system('cls')
  158.     global chain
  159.     data_read('cuentas.txt')
  160.     total_accounts = str(chain)
  161.     try:
  162.         user_old = input('Ingrese el nombre de usuario actual ')
  163.         pass_old = input('Ingrese el password actual ')
  164.         target = str(user_old) + '-' + str(pass_old)
  165.         user_new = input('Ingrese el nombre de usuario nuevo ')
  166.         pass_new = input('ingrese el password nuevo ')
  167.         bullet = str(user_new) + '-' + str(pass_new)
  168.         total_accounts = total_accounts.replace(target, bullet)
  169.         get_1 = open('Cuentas.txt', 'w+')
  170.         get_1.write(total_accounts)
  171.         get_1.close()
  172.         os.system('cls')
  173.         box_1('Se han actualizado las cuentas exitosamente')
  174.         principal()
  175.     except:
  176.         os.system('cls')
  177.         my_error = True
  178.         print ('Ha ocurrido un error, verifique que los datos ingresados sean correctos')
  179.         time.sleep(4)
  180.         os.system('cls')
  181.         principal()
  182.     return
  183.  
  184.  
  185. def compare():
  186.     global chain
  187.     diff = 0
  188.     os.system('cls')
  189.     box_1('Preparando comparacion....')
  190.     first = input('Ingrese el nombre del primer documento ')
  191.     second = input('Ingrese el nombre del segundo documento ')
  192.     first = first + '.txt'
  193.     second = second + '.txt'
  194.     os.system('cls')
  195.     data_read(str(first))
  196.     result_1 = chain
  197.     data_read(str(second))
  198.     result_2 = chain
  199.     result_1 = result_1.lower()
  200.     result_2 = result_2.lower()
  201.     if result_1 == result_2:
  202.         os.system('cls')
  203.         box_1('Los 2 documentos tienen el mismo contenido')
  204.     else:
  205.         os.system('cls')
  206.         long1 = len(result_1)
  207.         long2 = len(result_2)
  208.         if long1 > long2:
  209.             diff = long1 - long2
  210.         else:
  211.             diff = long2 - long1
  212.         print ('Los 2 documentos son diferentes, hay una diferencia de {} caracteres'.format(str(diff)))
  213.         time.sleep(5)
  214.         os.system('cls')
  215.     principal()
  216.     return
  217.  
  218.  
  219. def search_1():
  220.     global chain
  221.     os.system('cls')
  222.     search_w = input('que quiere buscar? ')
  223.     search_w = str(search_w)
  224.     objetive_x1 = input('En que archivo lo quiere buscar? ')
  225.     os.system('cls')
  226.     box_1('Buscando....')
  227.     os.system('cls')
  228.     data_read(objetive_x1 + '.txt')
  229.     chain = chain.replace('___', 'a')
  230.     chain = chain.replace('$$$', 'e')
  231.     chain = chain.replace('%%%', 'i')
  232.     chain = chain.replace('<<<', 'o')
  233.     chain = chain.replace('>>>', 'u')
  234.     chain = chain.lower()
  235.     text_result = chain.replace(search_w, ' +++ ' + search_w.upper()
  236.                                 + ' +++ ')
  237.     print (text_result)
  238.     if text_result.find(' +++ ') < 1:
  239.         print ('\n' + 'No se han encontrado coincidencias' + '\n')
  240.     else:
  241.         number_1 = text_result.count(' +++ ')
  242.         result_x = int(number_1) / 2
  243.         result_x = str(result_x).replace('.0', '')
  244.         print ('\n' + 'Se han encontrado ' + str(result_x) \
  245.             + ' coincidencias' + '\n')
  246.     readkey = input('Pulse una tecla para continuar o ingrese GUARDAR')
  247.     if str(readkey).lower() == 'guardar':
  248.         name = input('Que nombre debe tener el archivo? ')
  249.         handler = open(name + '.txt', 'w+')
  250.         handler.write(text_result)
  251.         handler.close()
  252.         box_1('Se ha guardado una copia con el nombre ' + name)
  253.         principal()
  254.     principal()
  255.     return
  256.  
  257.  
  258. def data_read(file):
  259.     global chain
  260.     w1 = open(file, 'r+')
  261.     chain = w1.read()
  262.     w1.close()
  263.     return
  264.  
  265.  
  266. def box_1(message):
  267.     os.system('cls')
  268.     up = '___' * 10
  269.     down = '___' * 10
  270.     print (up * 2 + '\n' + up * 2)
  271.     print (str(message.upper()) + '\n')
  272.     print (down * 2 + '\n' + down * 2)
  273.     time.sleep(4)
  274.     os.system('cls')
  275.     return
  276.  
  277.  
  278. def read_file():
  279.     global chain
  280.     box_1('Cargando datos....')
  281.     os.system('cls')
  282.     data_read('cuentas.txt')
  283.     parse_data = chain.split('*')
  284.     list_1 = []
  285.     user_try = []
  286.     pass_try = []
  287.     for item in parse_data:
  288.         try:
  289.             split_1 = item.split('-')
  290.             user_try.append(split_1[0])
  291.             pass_try.append(split_1[1])
  292.         except:
  293.             my_error = True
  294.     long_data = len(parse_data)
  295.     flag_11 = False
  296.     for item in user_try:
  297.         if item == '':
  298.             user_try.remove(item)
  299.     for item in pass_try:
  300.         if item == '':
  301.             pass_try.remove(item)
  302.     w_data1 = input('Ingrese su nombre de usuario ')
  303.     w_data2 = input('Ingrese su password ')
  304.     for steps in range(long_data):
  305.         x1 = user_try[steps - 1]
  306.         x2 = pass_try[steps - 1]
  307.         if x1 == w_data1 and x2 == w_data2:
  308.             flag_11 = True
  309.     if flag_11 == True:
  310.         os.system('cls')
  311.         ask = input('Ingrese el nombre del archivo para ver ')
  312.         try:
  313.             data_read(str(ask) + '.txt')
  314.             chain = chain.replace('___', 'a')
  315.             chain = chain.replace('$$$', 'e')
  316.             chain = chain.replace('%%%', 'i')
  317.             chain = chain.replace('<<<', 'o')
  318.             chain = chain.replace('>>>', 'u')
  319.             print (chain)
  320.             long_read = len(chain)
  321.             print ('\n' + 'Cantidad de caracteres: ' + str(long_read) \
  322.                 + '\n')
  323.             readkey = input('Presione una tecla para seguir...')
  324.             principal()
  325.         except:
  326.             os.system('cls')
  327.             print ('No se ha encontrado ese archivo!!!')
  328.             time.sleep(3)
  329.             os.system('cls')
  330.             principal()
  331.     else:
  332.         os.system('cls')
  333.         print ('Acceso denegado!!!')
  334.         time.sleep(4)
  335.         os.system('cls')
  336.         principal()
  337.     return
  338.  
  339.  
  340. def create_document():
  341.     global trial
  342.     trial = False
  343.     if trial == False:
  344.         print ('Bienvenido ' + str(name) + '\n')
  345.         trial = True
  346.     new_document = \
  347.         input('Ingrese el nombre de su documento o ingrese SALIR ')
  348.     if new_document.lower() == 'salir':
  349.         principal()
  350.     save_document(str(new_document))
  351.     text_data = input('Ingrese el contenido de su documento')
  352.  
  353.  # encripto
  354.  
  355.     text_data = text_data.replace('a', '___')
  356.     text_data = text_data.replace('e', '$$$')
  357.     text_data = text_data.replace('i', '%%%')
  358.     text_data = text_data.replace('o', '<<<')
  359.     text_data = text_data.replace('u', '>>>')
  360.     try:
  361.         word = open(str(new_document) + '.txt', 'w+')
  362.         word.write(text_data)
  363.         word.close()
  364.         os.system('cls')
  365.         time.sleep(3)
  366.         print ('Se ha creado el documento exitosamente')
  367.         time.sleep(3)
  368.         create_document()
  369.     except:
  370.         print ('Se ha producido un error, intente mas tarde')
  371.         principal()
  372.     return
  373.  
  374.  
  375. def principal():
  376.     print ('MENU' + '\n' \
  377.         + '1-Crear cuenta 2- leer archivo 3- buscar texto 4 -comparar documentos')
  378.     print ('5- actualizar datos de cuenta 6- leer documento externo 7- Informacion de este software')
  379.     print ('8- Enumerar documentos 9-Borrar registro de documentos 10- Salir' \
  380.         + '\n')
  381.     my_opt = int(input(''))
  382.     if my_opt == 1:
  383.         sign_up()
  384.     if my_opt == 2:
  385.         read_file()
  386.     if my_opt == 3:
  387.         search_1()
  388.     if my_opt == 4:
  389.         compare()
  390.     if my_opt == 5:
  391.         update()
  392.     if my_opt == 6:
  393.         simple_read()
  394.     if my_opt == 7:
  395.         info()
  396.     if my_opt == 10:
  397.         exit_1()
  398.     if my_opt == 8:
  399.         list_document()
  400.     if my_opt == 9:
  401.         registry_delete()
  402.     return
  403.  
  404.  
  405. def sign_up():
  406.     global name
  407.     global pass_1
  408.     flag1 = False
  409.     name = input('Ingrese su nombre ')
  410.     pass_1 = input('Ingrese su password ')
  411.     file = open('cuentas.txt', 'r+')
  412.     file_text = file.read()
  413.     file.close()
  414.  
  415.  # chequeo si existe ya la cuenta
  416.  
  417.     handler_1 = []
  418.     handler_1 = file_text.split('*')
  419.     for cuenta in handler_1:
  420.         handler_2 = str(cuenta).split('-')
  421.         if handler_2[0] == name and handler_2[1] == pass_1:
  422.             flag1 = True
  423.     if flag1 == True:
  424.  
  425.  # no creo la cuenta
  426.  
  427.         print ('Esa cuenta ya existe')
  428.         time.sleep(3)
  429.         os.system('cls')
  430.         principal()
  431.     else:
  432.  
  433.  # creo la cuenta
  434.  
  435.         data = open('Cuentas.txt', 'r+')
  436.         data_new = str(data.read()) + '*' + name + '-' + pass_1
  437.         data.close()
  438.         data_insert = open('cuentas.txt', 'w+')
  439.         data_insert.write(data_new)
  440.         data_insert.close()
  441.         print ('Se ha creado su cuenta con exito')
  442.         time.sleep(3)
  443.         os.system('cls')
  444.         create_document()
  445.  
  446.  
  447. graph('sektor')
  448. os.system('cls')
  449. principal()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement