def json_obj_updated(self): """ Tranforma o jason em uma lista de ticketss """ if type(self.tickets) is list: objects = [ Ticket(item["TicketID"], item["CategoryID"], item["CustomerID"], item["CustomerName"], item["CustomerEmail"], item["DateCreate"], item["DateUpdate"], item["Interactions"], item["Priority"], item["Rating"]) for item in self.tickets ] return objects else: objects = [ Ticket(self.tickets["TicketID"], self.tickets["CategoryID"], self.tickets["CustomerID"], self.tickets["CustomerName"], self.tickets["CustomerEmail"], self.tickets["DateCreate"], self.tickets["DateUpdate"], self.tickets["Interactions"], self.tickets["Priority"], self.tickets["Rating"]) ] return objects
def testTicket_1(self): """ Input: zero integer and floating point value. Expected Output: raise ValueError """ with self.assertRaises(ValueError): Ticket(0) Ticket(0.00)
def generateData(self): for block in self.data: if not "ticket" in block: self.rules = [Rule(x) for x in block.split("\n") if x] if "nearby" in block: self.nearbyTickets = [ Ticket(x) for x in block.split("\n") if x and ":" not in x ] if "your" in block: self.myTicket = [ Ticket(x) for x in block.split("\n") if x and ":" not in x ][0]
def test_Ticket_findValidFields(self): ticket = Ticket("3,9,18") rules = [Rule("class: 0-1 or 4-19"), Rule("row: 0-5 or 8-19"), Rule("seat: 0-13 or 16-19")] result = ticket.findValidFields(rules) self.assertEqual(3, len(result)) self.assertEqual(0, result["row"][0]) ticket = Ticket("15,1,5") result2 = ticket.findValidFields(rules) self.assertEqual(3, len(result2)) #self.assertEqual(0, result2["row"][0]) ticket = Ticket("5,14,9") result3 = ticket.findValidFields(rules) self.assertEqual(3, len(result3))
def __init__(self): self.client = MongoClient(os.getenv('DB_HOST'), 27017) self.db = self.client['db_freshdesk'] self.tickets = self.db.tickets self.contacts = self.db.contacts self._ticket = Ticket() self._contact = Contact()
def clone_tickets(ticket_ids, project, inject, prod=False, dry_run=False, custom_substitutions=None): """Perform cloning of tickets with all their links, parents and subtasks. Args: ticket_ids: List of ticket IDs to be cloned project: String project key in JIRA in which new tickets are created inject: Dictionary with values for injecting formatted for JIRA API prod: Choose if production JIRA is used, default False dry_run: If True action is not performed, just logged, default False custom_substitutions: dict with {"VAR": "substitution",} """ tickets = [] for id in ticket_ids: tickets.append( Ticket( prod=prod, ticket_id=id, custom_substitutions=custom_substitutions, )) cloner = Cloner(tickets, project, inject=inject, custom_substitutions=custom_substitutions, prod=prod, dry_run=dry_run) cloner.clone_tickets() cloner.link_tickets()
def clone_subtask_to_existing_parent(subtask_id, parent_id, project, inject, position=None, prod=False, dry_run=False, custom_substitutions=None): """Clone single subtask to existing parent task. Args: subtask_id: String JIRA id of a subtask parent_id: String JIRA id of an existing task project: String project key in JIRA in which new tickets are created inject: Dictionary with values for injecting formatted for JIRA API position: Position of a subtask to be moved to as int, default None prod: Choose if production JIRA is used, default False dry_run: If True action is not performed, just logged, default False custom_substitutions: dict with {"VAR": "substitution",} """ cloner = Cloner( [], project, inject=inject, prod=prod, dry_run=dry_run, custom_substitutions=custom_substitutions, ) cloner.clone_subtask_to_existing_parent(Ticket( prod=prod, ticket_id=subtask_id, custom_substitutions=custom_substitutions), parent_id, position=position) cloner.link_tickets()
def new_ticket(): if is_authenticated(request) and not is_staff(request): form = NewTicketForm() if request.method == "GET": return render_template("pages/customer_pages/ticket_create.html", staff=is_staff(request), user=get_user(request), form=form) elif request.method == "POST" and form.validate_on_submit(): user = get_user(request) ticket_dat = dat_loader.load_data("Tickets") messages = [] ticket_id = ticket_dat["id"] ticket_list = ticket_dat["data"] files = form.files.data uploaded_files = [] if files[0].filename != "": for x in files: try: uploaded_files.append(upload(x, False, user)) except ValueError: return abort(400) m_obj = Message(user, uploaded_files, form.description.data) messages.append(m_obj) t_obj = Ticket(ticket_id, user, form.subject.data, messages) ticket_list.append(t_obj) dat_loader.write_data("Tickets", ticket_list) return redirect("/dashboard/support/") elif is_authenticated(request) and is_staff(request): return abort(403) else: return redirect("/login/")
def test_ticket_ms14_068(): try: cc1 = CCache() cc1.set_raw_data(ccache_ms14_068.decode('hex')) raw_ticket = cc1.get_ticket('krbtgt/%s@%s' % (DOMAIN, DOMAIN)) if not raw_ticket: logging.error('No ticket found!') return False tktobj = Ticket(raw_ticket) enc_tgt = tktobj.get_encrypted_data() enc_tgt_type = tktobj.get_encryption_type() tgtobj = CCacheTGT() tgtobj.set_ciphertext(enc_tgt) tgtobj.set_key([enc_tgt_type, KRBTGT_NTLM.decode('hex')]) tgtobj.set_mode(MODE_TGT) clear_tgt = tgtobj.decrypt() if USER in clear_tgt: return True else: return False except Exception as e: logging.error(e) return False
def test_pac(vec): ccache_file = vec[1] domain = vec[2] username = vec[3] passwd = vec[4] try: cc1 = CCache() cc1.set_raw_data(ccache_file.decode('hex')) raw_ticket = cc1.get_ticket('krbtgt/%s@%s' % (domain, domain)) if not raw_ticket: return False tgtobj = CCacheTGT() enc_tgt = Ticket(raw_ticket).get_encrypted_data() tgtobj.set_ciphertext(enc_tgt) tgtobj.set_key(passwd) tgtobj.set_mode(MODE_TGT) clear_tgt = tgtobj.decrypt() if username.upper() in clear_tgt.upper() or domain.upper( ) in clear_tgt.upper(): return True else: return False except Exception as e: logging.error(e) return False
def generarTicket(self, ventanaIngreso, fp, autoSelected, cliente, lugarSelected): autoIndex = int(autoSelected.get()) try: lugarSelected = int(lugarSelected.get()) except: Label(fp,text='Seleccione un lugar valido', fg="red").grid(row=10,column=3) return if lugarSelected == 0 or lugarSelected>len(self.estacionamiento.lugares): #control de lugar existente Label(fp,text='Seleccione un lugar valido', fg="red").grid(row=10,column=3) return lug = self.estacionamiento.lugares[lugarSelected] #instancia un lugar para verificar su estado if lug.libre==False: Label(fp,text=' ').grid(row=10,column=3) Label(fp,text='Lugar ocupado', fg="red").grid(row=10,column=3) return else: #si no esta ocupado, actualiza datos del lugar Label(fp,text=' ').grid(row=10,column=3) print autoIndex self.model.actualizarLugar(lug.id, False, cliente.documento, autoIndex) ticket = Ticket() ticket.lugar = lugarSelected ticket.setFechaEntrada() ticket.numero = self.model.guardarTicket(ticket) ventanaIngreso.destroy() self.estacionamiento = self.model.obtenerEstacionamiento() tkMessageBox.showinfo('INFO','Ticket generado: ' + str(ticket.numero) + '\nFecha de ingreso: ' + str(ticket.fechaE.strftime ('%d/%m/%Y %H:%M')) +'\nCliente: ' + cliente.nombre + ' \nNro de cedula: '+str(cliente.documento))
def create_ticket(self): try: messages = self.params['messages'] except Exception as e: return {"error": "Invalid payload received: {0}".format(e)} if not messages or len(messages) < 0: return {'error': 'messages is not iterable'} for message in messages: try: message_data = message['data'] incident_id = Ticket.get_incident_number(message_data) if incident_id in self.incident_ids: continue self.incident_ids.append(incident_id) if PagerDuty.is_triggered_alert( message_data) and not Ticket.exists( message_data, self.env_vars): ticket = Ticket(message_data, self.env_vars) ticket.create() # TODO update_pager_duty_with_ticket_info() except Exception as e: logging.info('{0}'.format(e)) return {"error": "Ticket could not be created: {0}".format(e)} return True
def init_synthethic_dataset(self): self.database = {} passengers = [Passenger(name) for name in ["john green", \ "louie anderson", \ "liza koshy"]] bookings = [Booking(*booking) for booking in [("AMS", "ZRH", "10-Dec-2018"), \ ("LHR", "AMS", "01-Jan-2019"), \ ("BER", "ARN", "02-Mar-2019")]] flights = [Flight(*flight) for flight in \ [("KLM", "AMS", "BSL", "10-Dec-2018", 200), \ ("SWISS", "BSL", "ZRH", "10-Dec-2018", 100), \ ("KLM", "LHR", "AMS", "01-Jan-2019", 300), \ ("Eurowings", "BER", "ARN", "02-Mar-2019", 300)]] tickets = [Ticket(*ticket) for ticket in \ [(passengers[0], flights[0], "economy"), (passengers[0], flights[1], "economy"), (passengers[1], flights[2], "business"), \ (passengers[2], flights[3], "economy")]] bookings[0].add_ticket(tickets[0]) bookings[0].add_ticket(tickets[1]) bookings[1].add_ticket(tickets[2]) bookings[2].add_ticket(tickets[3]) self.database["passengers"] = passengers self.database["bookings"] = bookings self.database["flights"] = flights self.database["tickets"] = tickets self.database["name_to_tickets"] = { passenger.name: [] for passenger in passengers } for ticket in tickets: self.database["name_to_tickets"][ticket.client.name] += [ticket]
def main(): print("\nWelcome to the ticketing service.") user = User() request = None while True: while True: checkIn = False isCreated = False print("\n<> 1. Sing In\n<> 2. Create Account\n<> 3. Turn off the system") request = input(">> ") if request == "3": user = User() print("\nGoodbye. We'll be waiting for you!") break # sing in elif request == "1": login = input("Your login:\n>> ") password = input("Your password:\n>> ") if user.checkUser(login, password): checkIn = True # registration elif request == "2": login = input("Your login:\n>> ") password = input("Your password:\n>> ") name = input("What is your name:\n>> ") if not user.createUser(login, password, name): isCreated = True if checkIn: break elif isCreated: print("\n!!! Choose another login. This already exists") else: print("\n!!! Wrong login or password. Try again\n") if request == "3": break isLogout = False while True: print("\n<> 1. Buy ticket\n<> 2. My ticket\n<> 3. Log out") request = input(">> ") if request == "3": user = User() isLogout = True break elif request == "1": buy = buyTicket(user) if not buy[0]: continue cinema = buy[1] ticket = Ticket() ticket.setTicket(cinema) print("\nYour ticket:\n{}".format(ticket)) user.setTicket(ticket) elif request == "2": print() for item in range(0, len(user.myTickets())): print(user.myTickets()[item]) if item != len(user.myTickets())-1: print("-----------------------------") if isLogout: continue
def generate_ticket(id): """ generate a ticket object form a API results by calling Object factory. Args: id: Integer, ID of the selected ticket. Returns: ticket: Ticket object, which contains ticket data if error: returns a default ticket with Error message assigned. """ # get query generated by zendesk_api.py methods url = ApiQuery().get_selected_ticket(id) query = ApiQuery().get_full_query(url) response = ApiCall().get_result(query) if response.is_success: result_data = response.result ticket_data = result_data['ticket'] factory = ObjectFactory() ticket = factory.create_ticket_object(ticket_data) else: ticket = Ticket() ticket.error_message = response.error_message return ticket
def generate_ticket(ticket_id: int, flight_id: int, airplane_id: int, flight_date): return Ticket(ticket_id, generate_price(), generate_birth_date(), flight_date, generate_purchase_date(flight_date), generate_document_id(), ticket_id, flight_id, airplane_id, generate_name(), generate_surname(), generate_document_type(), generate_sex())
def makeTicket(ticket_id): t = Ticket() while t.complete == False: t.on_event(getRandomTransition(str(t.state))) activities = t.activity for a in activities: a['ticket_id'] = ticket_id return (activities)
def insert_ticket(ticket_list): city = LottoController.select_city() bet_type = LottoController.select_bet_type() amount_of_numbers = LottoController.select_amount_of_numbers(bet_type) a_ticket = Ticket(city=city, bet_type=bet_type, amount_of_numbers=amount_of_numbers) ticket_list.append(a_ticket)
def ticket(branch, ticket, jira_username, jira_token, jenkins_username, jenkins_token, github_username, github_token): "Tells you if a ticket has passed smoke test and has been promoted into a build" default_branch = releases['default'][branch] issue = Ticket(ticket, branch, jira_username, jira_token, github_username, github_token) log.debug('Ticket ID: {}'.format(issue.id)) if issue.is_merged: server = Jenkins(jenkins_username, jenkins_token) build_numbers = server.smoke_tests(default_branch) promotion_build_numbers = server.promotions(default_branch) shas = filter(lambda x: x, map(parse_build_description, build_numbers)) enterprise_dist = EnterpriseDist(branch) vanagon = PeModulesVanagon(branch) vanagon_shas = [ enterprise_dist.get_vanagon_commit_sha(sha) for sha in shas ] data = {} for pr in issue.pull_requests: log.debug('Repo: {}, Pull Request: {}'.format( pr.repo.name, int(pr.number))) repo_shas = [ vanagon.get_repo_commit_sha(vanagon_ref, pr.repo.name) for vanagon_ref in vanagon_shas ] for commit in pr.commits: log.debug('PR Commit: {}'.format(commit)) if commit and commit in repo_shas: i = repo_shas.index(commit) log.debug('Build Number: {}'.format(build_numbers[i])) log.debug('Repository {} has commit {}'.format( pr.repo.name, commit)) log.debug('Ticket {} passed smoke test in build {}'.format( ticket, build_numbers[i])) data[build_numbers[i]] = {'smoke': pr.repo.name} if build_numbers[i] in promotion_build_numbers: log.debug('Ticket {} was promoted in build {}'.format( ticket, build_numbers[i])) data[build_numbers[i]]['promoted'] = pr.repo.name if data: build = sorted(data.keys(), reverse=True)[0] click.echo('Ticket {} passed smoke test in build {}'.format( ticket, build)) if 'promoted' in data[build]: click.echo('Ticket {} was promoted in build {}'.format( ticket, build)) else: click.echo('Unable to find this {} in a build.'.format(ticket)) else: click.echo("Not all PR's for this ticket have been merged")
def create_dictionary_of_parameters(df, plan): df = clean_dataframe(df, list(plan.keys())) list_tickets = [] for index, row in df.iterrows(): single_ticket = Ticket() for key in plan: plan.get(key)(single_ticket, row[key]) list_tickets.append(single_ticket) return list_tickets
def owner_finder(hosts): ticket = Ticket() hosts_ticket = {} with open('owner.json') as f: owners = json.load(f) for host in hosts: ticketno = ticket.unknown_host(host) hosts_ticket.update({host.strip('\n'): ticketno}) return hosts_ticket, owners
def introduction_ticket(self, ): """ Lecture du contenue du cady. La saisie se fait via clavier. """ print('\n* Début de saisie...') print(""" Veuillez entrer les produits sous la forme: NomDuProduit NombreDeKilo et taper fin pour terminer la saisie. """) end_saisie = False total_achat = 0 i = 1 ticket = Ticket() # Boucler sur l'introduction des articles while not end_saisie == True: saisie = input(' Article n°{}: '.format(i)) if 'fin' == saisie.lower(): # Fin de saisie du ticket end_saisie = True # Affichage ticket print(ticket) # Sauvegarde du ticket self.tickets.append(ticket) else: saisie = saisie.split(',') try: # Traitement de la saisie produit = saisie[0] quantite = float(saisie[1]) prix_u = self.catalog_prix[produit] if produit in self.catalog_remises: remise, justification = self.appliquer_remises( produit, quantite, prix_u) ticket.ajout(produit, quantite, prix_u, remise, justification) else: ticket.ajout(produit, quantite, prix_u) except ValueError: print("[ERREUR]: Quantité mal introduite!!") except IndexError: print("[ERREUR]: Saisie erronée!") except KeyError: print("[ERREUR]: Produit inconue!") i += 1
def set_ticket_price(self): """ A generator function that randomly assigns ticket price to the event. Ticket prices are sampled from a range of 1 - 100. These values are added to an instance of class ticket """ while self.numTickets > 0: price = round(random.uniform(1, 99), 2) ticket = Ticket(price) self.tickets.append(ticket) self.numTickets -= 1
def create_ticket(content): """ Given a body we add 'creation_date', 'limit_date' and 'status' fields and store them in the db. """ content['creation_date'] = datetime.now() content['limit_date'] = timedelta(days=PRIORITY_AND_DAYS_TO_COMPLETE[int( content['priority'])]) + content['creation_date'] content['status'] = 'abierto' ticket = Ticket(**content) db.save_ticket(vars(ticket))
def __init__(self): Cmd.__init__(self) self.prompt = '12306>' self.intro = ''' Welcome to 12306 Cmd Client Author : 9527 Time : %s Input help for more information ''' % time.strftime('%X', time.localtime()) self.tic = Ticket()
def handle_new_ticket(pieces): purchase_date = parse_datetime(pieces[:2]) txhash = pieces[-1] txinfo = execute_dcrwallet_command(['gettransaction', txhash]) price = abs(txinfo['details'][0]['amount']) fee = txinfo['details'][0]['fee'] ticket = Ticket(txhash, purchase_date, price, fee, TicketStatus.MEMPOOL) mempool_tickets.add(ticket) tickets[txhash] = ticket
def test_ticket(): print("- Ticket initialisation") ticket = Ticket() articles = [('a', 2, 2.5, -2, 'Parce que vous le valez bien!'), ('b', 3, 1.5, 0, '')] print("- Appending articles") for a in articles: ticket.ajout(a[0], a[1], a[2], a[3], a[4]) print("- Printing ticket") print(ticket)
def setRandomTicketPrices(self): """Public method that sets random ticket prices for events. Since ticket prices are non-zero values, the random price generated is always greater than 0.""" numberOfTickets = randrange(self.MAX_NUMBER_OF_TICKETS) if numberOfTickets > 0: for _ in range(numberOfTickets): randomPrice = round(uniform(1, self.MAX_TICKET_PRICE), 2) try: self.tickets.append(Ticket(randomPrice)) except ValueError: print( 'Ticket price has to be a non-zero value. Exiting...') exit(0)
def park(self, vehicle): if not self.can_park(): return False slot = self.where_to_park() self.set_ticket_count(self.get_ticket_count + 1) ticket_to_issue = Ticket(self.get_ticket_count, slot) if slot != -1: space = self._spaces[slot] space.park(vehicle) return ticket_to_issue
def myTickets(self): arr = [] db = DB() for item in db.select("Tickets", '*', 'user_id=' + str(self.id)): ticket = Ticket() ticket.cinemaName = item[2] ticket.kino = item[3] ticket.time = item[4] ticket.place = item[5] ticket.price = item[6] ticket.totalPrice = item[7] arr.append(ticket) return arr