def isConfigured(self): """ check if encfs config file exist. If not and if we are in settingsdialog ask for password confirmation. _mount will then create a new config """ cfg = self.configFile() if os.path.isfile(cfg): logger.debug('Found encfs config in %s' % cfg, self) return True else: logger.debug('No encfs config in %s' % cfg, self) msg = _('Config for encrypted folder not found.') if not self.tmp_mount: raise MountException(msg) else: if not self.config.askQuestion( msg + _('\nCreate a new encrypted folder?')): raise MountException(_('Cancel')) else: pw = password.Password(self.config) password_confirm = pw.passwordFromUser( self.parent, prompt=_('Please confirm password')) if self.password == password_confirm: return False else: raise MountException(_('Password doesn\'t match'))
def part_one(args, input_lines): "Process part one of the puzzle" # 1. Get the range start = int(input_lines[0]) finish = int(input_lines[1]) if args.verbose: print("Range is [%d ... %d]" % (start, finish)) # 2. Create the password object pswd = password.Password(start=start, finish=finish) # 3. Get the valid passwords pswds = list(pswd) if args.verbose: print("First bunch of passwords = %s" % (str(pswds[:5]))) print("Last bunch of passwords = %s" % (str(pswds[-5:]))) # 4. The solution is the number of passwords solution = len(pswds) print("Solution is %d" % (solution)) # 5. Return True if we found a solution return solution is not None
def test_no_sources(mocker): """ fudging the path in order to simulate the file not exisiting. """ open_mock = mocker.patch('os.getcwd') open_mock.return_value = '/' try: password.Password() except FileNotFoundError as e: assert str(e) == 'Please install the dicelist sources.'
def test_part_one(self): "Test part one example of Password object" # 1. Create Password object from text myobj = password.Password(text=aoc_11.from_text(PART_ONE_TEXT)) # 2. Check the part one result self.assertEqual(myobj.part_one(verbose=False), PART_ONE_RESULT)
def test_part_two(self): "Test part two example of Password object" # 1. Create Password object from text myobj = password.Password(part2=True, text=aoc_11.from_text(PART_TWO_TEXT)) # 2. Check the part two result self.assertEqual(myobj.part_two(verbose=False), PART_TWO_RESULT)
def test_create_from_query(self): test_pass = password.Password() test_pass.create_pass(query) # self.assertEqual(expected, create_from_query(self, list)) assert test_pass.email == 'test_email' assert test_pass.password == 'test_password' assert test_pass.login == 'test_login' assert test_pass.site == 'test_site' assert test_pass.description == 'test_description'
def test_create_from_args(self): test_pass = password.Password() test_pass.create_pass(arguments) # self.assertEqual(expected, create_from_query(self, list)) assert test_pass.email == 'arguments_email' assert test_pass.password == 'arguments_password' assert test_pass.login == 'arguments_login' assert test_pass.site == 'arguments_site' assert test_pass.description == 'arguments_desc'
def test_empty_init(self): "Test the default Password creation" # 1. Create default Password object myobj = password.Password() # 2. Make sure it has the default values self.assertEqual(myobj.part2, False) self.assertEqual(myobj.text, None)
def generate_pass(self): try: user_pass_len = int(self.pass_len.text()) if user_pass_len > 0: user_new_password = ps.Password(user_pass_len) self.pass_list.addItem(user_new_password.new_pass) else: return except ValueError: return
def from_raw(self, value, **kw): if not value: return None m = password.Password.pwre.match(value) if m: # password is being given to us encrypted p = password.Password() p.scheme = m.group(1) if p.scheme not in 'SHA crypt plaintext'.split(): raise HyperdbValueError, \ ('property %s: unknown encryption scheme %r') %\ (kw['propname'], p.scheme) p.password = m.group(2) value = p else: try: value = password.Password(value) except password.PasswordValueError, message: raise HyperdbValueError, \ _('property %s: %s')%(kw['propname'], message)
def addmenus(self): menu = Menu(self.master) self.debug = BooleanVar() self.debug.set(False) sh = shelve.open("data.db") try: noprinter = sh['noprinter'] except: noprinter = False self.debug.set(noprinter) repmenu = Menu(menu, tearoff=0) monthsalemenu = Menu(repmenu, tearoff=0) monthsalemenu.add_command(label="previous month", command=lambda x=-1: self.lastmonthbal(x)) monthsalemenu.add_command(label="current month", command=lambda x=0: self.lastmonthbal(x)) repmenu.add_command(label="Day close", command=self.dayclose) repmenu.add_command(label="Last Month Report", command=self.monthreport) repmenu.add_cascade(label="Month Balance", menu=monthsalemenu) menu.add_cascade(label="Report", menu=repmenu) viewmenu = Menu(menu, tearoff=0) viewmenu.add_command(label="print stockists list", command=self.liststockists) viewmenu.add_command(label="review bills", command=self.reviewbills) viewmenu.add_command(label="print report", command=lambda: reporter.reporter()) menu.add_cascade(label="View", menu=viewmenu) taskmenu = Menu(menu, tearoff=0) taskmenu.add_command(label="New", command=lambda: new.adder()) taskmenu.add_command(label="Banks", command=lambda: banks.banks()) taskmenu.add_command(label="Credit", command=lambda: creditpay.creditpay()) taskmenu.add_command(label="Payment", command=lambda: petty.petty()) menu.add_cascade(label="Tasks", menu=taskmenu) adminmenu = Menu(menu, tearoff=0) adminmenu.add_command(label="Pay Stockists", command=self.purchasepay) adminmenu.add_command(label="Passwords", command=lambda: password.Password()) adminmenu.add_command(label="Edit Stock", command=self.editstock) adminmenu.add_checkbutton(label="Debug", command=self.noprinter, variable=self.debug) adminmenu.add_command(label="Set Printers", command=self.setprinters) adminmenu.add_command(label="Set Db params", command=self.dbparams) menu.add_cascade(label="Admin", menu=adminmenu) self.master.config(menu=menu)
def part_two(args, input_lines): "Process part two of the puzzle" # 1. Create the puzzle solver solver = password.Password(part2=True, text=input_lines) # 2. Determine the solution for part two solution = solver.part_two(verbose=args.verbose, limit=args.limit) if solution is None: print("There is no solution") else: print("The solution for part two is %s" % (solution)) # 3. Return result return solution is not None
def addmenus(self): menu = Menu(self) self.debug = BooleanVar() self.debug.set(False) sh = shelve.open("data.db") try: noprinter = sh['noprinter'] except: noprinter = False sh.close() self.debug.set(noprinter) repmenu = Menu(menu, tearoff=0) repmenu.add_command(label="Day Report", command=self.dayreport) repmenu.add_command(label="Last Month Report", command=self.monthreport) repmenu.add_command(label="Print day bills Detailed (yesterday)", command=self.print_day_bills) repmenu.add_command(label="Print day bills (yesterday)", command=self.print_day_bills_summery) menu.add_cascade(label="Report", menu=repmenu) viewmenu = Menu(menu, tearoff=0) viewmenu.add_command(label="bills", command=lambda: showbills.ShowFiles()) viewmenu.add_command(label="print stockists list", command=self.liststockists) viewmenu.add_command(label="review bills", command=self.reviewbills) viewmenu.add_command(label="enter credit note", command=lambda: creditnote.CreditNote()) viewmenu.add_command(label="group drugs", command=lambda: group.Group()) menu.add_cascade(label="View", menu=viewmenu) adminmenu = Menu(menu, tearoff=0) adminmenu.add_command(label="Pay Stockists", command=self.purchasepay) adminmenu.add_command(label="Passwords", command=lambda: password.Password()) adminmenu.add_command(label="Edit Stock", command=self.editstock) adminmenu.add_checkbutton(label="Debug", command=self.noprinter, variable=self.debug) adminmenu.add_command(label="Set Printers", command=self.setprinters) adminmenu.add_command(label="Set Db params", command=self.dbparams) menu.add_cascade(label="Admin", menu=adminmenu) self.config(menu=menu)
def test_empty_init(self): """Test default password object creation""" # 1. Create default password object mypswd = password.Password() # 2. Make sure it has the default values self.assertEqual(mypswd.start, 111111) self.assertEqual(mypswd.finish, 999999) # 3. Check methods self.assertEqual(mypswd.check(111111), True) self.assertEqual(mypswd.check(122345), True) self.assertEqual(mypswd.check(111123), True) self.assertEqual(mypswd.check(135679), False) self.assertEqual(mypswd.check(223450), False) self.assertEqual(mypswd.check(123789), False)
def test_value_init(self): """Test password object creation with values""" # 1. Create Wire obhect with values mypswd = password.Password(start=123444, finish=123455) # 2. Make sure it has the specified values self.assertEqual(mypswd.start, 123444) self.assertEqual(mypswd.finish, 123455) # 3. Check methods self.assertEqual(mypswd.check(111111), False) self.assertEqual(mypswd.check(123449), True) self.assertEqual(mypswd.check(222222), False) # Check iterator self.assertEqual( list(mypswd), [123444, 123445, 123446, 123447, 123448, 123449, 123455])
def test_text_init(self): "Test the Password object creation from text" # 1. Create Password object from text myobj = password.Password(text=aoc_11.from_text(EXAMPLE_TEXT)) # 2. Make sure it has the expected values self.assertEqual(myobj.part2, False) self.assertEqual(len(myobj.text), 1) # 3. Check methods self.assertEqual(myobj.valid_password("hijklmmn"), False) self.assertEqual(myobj.valid_password("abbceffg"), False) self.assertEqual(myobj.valid_password("abbcegjk"), False) self.assertEqual(myobj.valid_password("abcdffaa"), True) self.assertEqual(myobj.valid_password("ghjaabcc"), True) self.assertEqual(myobj.next_password(), "abcdffaa") myobj.current = "ghijklmn" self.assertEqual(myobj.next_password(), "ghjaabcc")
def likeTweet(self, searchfor): driver = self.driver searchBox = driver.find_element_by_xpath( "//*[@id='react-root']/div/div/div[2]/main/div/div/div/div[2]/div/div[2]/div/div/div/div[1]/div/div/div/form/div[1]/div/div/div[2]/input" ) searchBox.send_keys(searchfor) searchBox.send_keys(Keys.RETURN) sleep(10) for i in range(1, 3): driver.execute_script( 'window.scrollTo(0,document.body.scrollHeight)') sleep(2) driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.HOME) likes = driver.find_elements_by_xpath("//div[@data-testid='like']") for like in likes: like.click() sleep(3) p = password.Password() email = p.returnEmail() password = p.returnPass() rifinder = TwitterBot(email, password) rifinder.login() rifinder.likeTweet("selenium")
def main(): passwd = password.Password(input('password > ')) passwd.show()
def test_generate_pswd(): """ generated passwords should be at least as long as the number of words provided """ num_words = 5 pswd = password.Password() pswd.generate_pswd(num_words) assert len(pswd.password) >= 5
def test_replace_char(): pswd = password.Password() pswd.generate_pswd()
def password(request): import password u = password.Password() x = u.generating_password() return render(request, 'start.html', {'password': x})
def test_retrieve_word_list(mocker): """ check that wordlist is being populated """ pswd = password.Password() assert len(pswd.word_list) > 0
answer.strip() if answer.lower() == 'n' or answer.lower() == 'no': print("Thank you for using Diceware, goodbye =^)") return False elif answer.lower() == 'y' or answer.lower() == 'yes': pswd = make_changes(pswd) print(f'Your current password:\t\033[92m{pswd.password}\033[0m') realtime_replace(pswd) else: print("Please enter either y(yes) or n(no).") realtime_replace(pswd) if __name__ == '__main__': args = my_parser.parse_args() pswd = password.Password() if args.num is not None: pswd.generate_pswd(args.num) elif args.interactive is True: pswd.generate_pswd(get_num_words()) else: print( '\33[31mERROR\033[0m: Please either pass a number to the \"-n\" flag or set \"-i\" and try again. See \"diceware -h\" for more details.' ) sys.exit(1) if args.replace is not None: replacements = args.replace.split(',') for replacement in replacements: new_vals = replacement.split(':') pswd.replace_char(new_vals[0], new_vals[1])
import password import account import pyperclip password_obj1 = password.Password() class Credentials: ''' Class that adds user credentials to the app. ''' def __init__(self): self.credentials_list = [] def add_credential(self): ''' Method to add existing credentials to the app. ''' print(" ") print("-----Add credential here-----") acc_name = input("Account name: ") acc_username = input("Account username: "******"Account password: ") new_account = account.Account(acc_name, acc_username, acc_password) self.credentials_list.append(new_account) print(f'{acc_name} account credentials added.') def create_credential(self): ''' Method to create new credential and add it to the app. '''
import tools import config if __name__ == '__main__': """ return password. """ cfg = config.Config() tools.envLoad(cfg.cronEnvFile()) profile_id = os.getenv('ASKPASS_PROFILE_ID', '1') mode = os.getenv('ASKPASS_MODE', 'local') if mode == 'USER': prompt = os.getenv('ASKPASS_PROMPT', None) pw = password.Password(cfg) print(pw.passwordFromUser(None, prompt = prompt)) sys.exit(0) temp_file = os.getenv('ASKPASS_TEMP') if temp_file is None: #normal mode, get password from module password pw = password.Password(cfg) print(pw.password(None, profile_id, mode)) sys.exit(0) #temp mode fifo = password_ipc.FIFO(temp_file) pw = fifo.read(5) if pw: print(pw)
#!/usr/bin/env python3.9 import password import client password_obj = password.Password() def sign_up(): ''' Function that allows a new user to sign up. ''' username_signup = "" password_signup = "" print("") print("----Sign up here----") username_valid = True while username_valid: username_signup = input("Username (at least 5 chars): ") if len(username_signup) < 5: username_valid = True print("**Username too short. Try again.") else: username_valid = False want_password_valid = True while want_passowrd_valid: want_sys_password = input("Want system generated password? (Yes/No): ") if want_sys_password == "Yes": want_password_valid = False