Jump to content

mrgrj

Active Members
  • Posts

    1422
  • Joined

  • Last visited

  • Days Won

    45

Everything posted by mrgrj

  1. E destul de usor ce vrei tu sa faci si poti combina solutiile de mai sus. Intr-adevar, pentru a fi sigur ca scriptul isi reia treaba de unde a ramas iti trebuie un Queuing mechanism in care sa stochezi statusul si id-ul fiecarui request in parte. Iti va fi usor sa reiei taskurile de unde au ramas. Ca sa rezolvi problemele cu no internet connection, curent nema, apocalipsa etc e ceva mai interesant (intra cumva in categoria de disaster recovery - multa teorie). Dar pe scurt, cu cateva try / except-uri ar trebui sa o rezolvi (e.g. poti face initial un HEAD request catre yfinance + retry de cateva ori in cazul in care requestul faileaza. Daca dupa cateva retry-uri nu primesti nimic de la url-ul respectiv, treci la urmatorul si pui in queue url-ul precedent pentru a-l incerca mai tarziu bla bla e mult de scris). Poti incerca urmatorul stack: - Python (il folosesti deja) - RabbitMQ (message broker) - Ceva DB (ceva cum ar fi Mongo cred ca ar merge perfect din moment ce nu pare ca ai vreo relatie intre datele de care ai nevoie) Ideea generala pentru a scapa de acel "retrieving..." e ca trebuie sa faci mereu sanity request check-uri care sa te asigure ca urmatoarele reqs vor merge. In caz contrar, tratezi acolo ce e de tratat. E.g: try: import httplib except: import http.client as httplib def i_have_internet(): conn = httplib.HTTPConnection("www.google.com", timeout=5) try: conn.request("HEAD", "/") conn.close() return True except: conn.close() return False def main(): if i_have_internet(): # do your stuff (process yfinance bla bla) else: # wait, retry, check internet settings or w/e u want main() Mai sus e un exemplu simplu de check insa tu ar trebui sa tratezi tot ce ai nevoie. Asta se rezolva pe parcurs dupa ce intampini toate problemele.
  2. Partikip sambata viitoare daca face @Silviu cinste. Veniti bre? @Silviu, @endemic, @Byte-ul, @QuoVadis, etc
  3. E prea mult cod? Sunt doua linii Mai ai `xml` lib care e usor de folosit (etree).
  4. Daca ai luat din response, posteaza si response.headers ca sa vedem daca se poate face ceva
  5. Eu m-as baga sa concurez pentru niste practice. Pot sa fac si donatii pentru premii ca mnah, cine stie, poate-i iau inapoi inmultiti Mai sanatos decat la ruleta
  6. E simplu:
  7. In viata Dumnezeu iti da, da' nu-ti baga si-n gura. Fa si tu ceva research sau pune pe cineva sa iti faca asta contra-cost Nu e ca si cum ai intreba pe cineva: "Cum fac o ciocolata calda" si gata. Tre' sa pui ceva efort in asta. Good luck.
  8. Cadou de Craciun import random import sys import time # generate numbers from 1 to 30 mapped to red color NUMBERS = {number: 'red' for number in list(range(1, 31))} class Colors: """ ANSI color codes. """ # RED is used for all the numbers RED = '\033[91m' # GREEN is used for displaying computer's random # chosen number GREEN = '\033[92m' # BLUE is used for displaying user's chosen # number BLUE = '\033[94m' END = '\033[0m' def assign_color_to_number(number, color): """ Show ANSI colors in terminal for nicer UX. """ if color == 'red': return f'{Colors.RED}{number}{Colors.END}' elif color == 'green': return f'{Colors.GREEN}{number}{Colors.END}' elif color == 'blue': return f'{Colors.BLUE}{number}{Colors.END}' else: return number def print_table(numbers): """ Print a nice table with colorful numbers wrapped at 5. """ print('\n') for number, color in numbers.items(): number = assign_color_to_number(number, color).ljust(12) if number % 5 != 0: print(number, end=' ') else: print(number) print('\n') def countdown(seconds, user_number): """ Let user know how much until the next game. Arguments: seconds (int): How many seconds until next game. user_number (int): User's lucky & chosen number. """ print(f"You chose {user_number}. GOOD LUCK!\n\n") for second in range(seconds, -1, -1): sys.stdout.write( f"\r{second} seconds remaining until one number will change its color to green." ) time.sleep(1) sys.stdout.flush() print('\n') def get_user_number(): """ Sanitize user's input. """ while True: try: value = int(input('Please choose a number between 1 and 30: ')) if 30 < value < 1: print("Please insert a number between 1 and 30!\n") continue return value except ValueError: print("Please insert a number between 1 and 30!\n") continue def play(): print_table(NUMBERS) user_number = get_user_number() countdown(5, user_number) random_number = random.randint(1, 30) if user_number != random_number: NUMBERS.update({random_number: 'green', user_number: 'blue'}) print_table(NUMBERS) print( f'You did not guess the number. Our number was: {random_number} ' f'and yours was: {user_number}.\n\nGOOD LUCK NEXT TIME' ) else: print( 'You guessed it! Congrats! Please fill in the information ' 'below in order to receive your prize.\n\n' ) name = input('Your name: ') age = input('Your age: ') email = input('Your email: ') print(f'Name: {name}\nAge: {age}\nEmail:{email}') # reset our numbers NUMBERS.update({random_number: 'red', user_number: 'red'}) def main(): print('\nWELCOME TO LOTTERY!') while True: play() answer = input('Play again? [Y]es/[N]o: ') if answer.lower() == 'n': break print('\nTHANKS FOR PLAYING!') if __name__ == '__main__': main() Aici ai si link cu codu' si poti sa ii dai un Run de test. Am pus si niste comment-uri in caz ca vrei sa intelegi ce se intampla, desi ma indoiesc. PS: Codu' e scris destul de repede but it does it job chiar daca nu e perfect organizat. Enjoy
  9. Salut, Io n-am inteles nimic din ceea ce vrei. - Care numere sunt verzi si care sunt rosii? - Sunt doua seturi de 30 de numere, un set fiind rosu si altul fiind verde? - Cum determini cand un numar e disponibil? - De unde au aparut campurile alea? Sunt prin Baragan? - Etc. Mersi
  10. Hai sa iti explic putin cum sta treaba daca vrei sa gasesti pe cineva: 1. Descrie asa cum trebuie proiectul. 1.1 Ce fel de interfata? Web / Desktop / Command Line? 1.2 Cum arata excel-ul respectiv? Sunt mai multe sheets? E foarte mare fisierul? 1.3 Cum ai vrea sa arate "interfata" respectiva? 1.4 Ce legatura au PDF-ul si WORD-ul cu excelul? 2. Ce suma oferi pentru cele de mai sus? 2.1 Oferi un avans? 2.2 Garantezi ca vei plati developerul care iti va face acest proiect? 2.3 Daca garantezi, cum o faci? 2.4 Cum vei face plata? Daca oferi aceste detalii iti garantez ca se vor gasi oameni care te vor ajuta. Poate chiar si gratis, pentru portofoliu, daca e ceva rapid
  11. mrgrj

    Salut

    Ia d-aici pentru Python: https://github.com/Nexmo/nexmo-python Mai usor nici ca se poate
  12. Also, din cate stiu eu, pozele sunt stocate in AD (Active Directory). Ca idee, asa ar arata in Powershell: Set-ADUser user_1 -Replace @{thumbnailPhoto=([byte[]](Get-Content "C:\ps\user_1_photo.jpg" -Encoding byte))}
  13. Nu stiu care e parerea celorlalti, dar mie mi se pare incredibil ce faci acolo Ai putea sa explici putin ce se intampla p-acolo si pentru noi astia mai slabuti? Thanks & really impressive work!
  14. Nu ma bag, dar mersi de mention . Dureaza destul de mult sa faci asa ceva si din pacate nu am timp.
  15. Si uite asa mai adaugam un putzache cu mentalitate de "sa fie usor, ceva simplu si flexibil + sa curga banii" in industria IT. Vreti sa fiti manageri sau sa invatati programare "the easy way" insa nu sunteti in stare sa va informati din mii de surse, articole sau carti. /pacat
  16. mrgrj

    pwncat

    Also, gobuster (https://github.com/OJ/gobuster) instead of dirbuster (https://sourceforge.net/projects/dirbuster/files/DirBuster Source/1.0-RC1/)
  17. Mie asa mi se pare. I-ai luat IP-ul? Hai sa vorbim cu tovarasul @QuoVadis de la SRI sa il bage la bulau. Ce zici?
  18. Te ajut si eu pe Python
  19. Cel mai probabil sun finantate si sponsorizate de acele firme ca sa gaseasca alea.
  20. Sume mici? Si-au batut joc de ei. Daca se duceau pe DW (si nu numai) cu astea...
  21. Literally: 1 SMTP + 1 SMTP = 2 SMTP-uri 1 SMTP + 2 SMTP-uri = 3 SMTP-uri ... s.a.m.d Gata, fixed!
  22. Asta e cu studenti. Poti adapta tu dupa nevoi Spor
  23. Hai ca incerc eu. Din moment ce n-ai mentionat limbaju', o sa aleg Brainfuck: ++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>>>++++++++++++.++.---------.+++++.++++++.<<++++++++++.------.>+++++++.>-------------------.+++++++++++++++++.+.<<--.>>.----------.<<.>>---.-----.<<+++++++++++++.>>+++++++++++++++++++.-----------.<<-------------.>>+++++++++++.---------------.++++++++.--------.+++++++.-------.<<.>>++++++++++++++.----------.+++++.-------.++++++++++++++.---.<<.>>---------------.--.<<.>>+++.---.++.--.<<.>>+++++++++++++.+++++++.<<.>>+.-----------------.++++.<<.>>++++.++++++++.---.---------.<<.>>+++++++.++.---.++++.+.<<++++++++++++++.--------------.>++++++++++++++++++.>++++++++.<.<.>------------------.>-------.------------.----.<<++.+++++++.
  24. Stai, nu o mai fost unu acu' vreo luna care voia acelasi lucru? @Gecko parca dadusesi tu un reply decent acolo. Da un c/p si apoi inchide postu' asta pana se umple de cancer
×
×
  • Create New...