Best Python code snippet using SeleniumBase
messages_nl.py
Source:messages_nl.py  
1#!/usr/bin/env python2# -*- coding: utf-8 -*-3def all_messages():4    """5    keep all messages in nl6    Returns:7        all messages in JSON8    """9    return \10        {11            "scan_started": "Nettacker-motor is gestart ...",12            "options": "python nettacker.py [opties]",13            "help_menu": "Toon Nettacker Help Menu",14            "license": "Lees de licentie en overeenkomsten https://github.com/zdresearch/OWASP-Nettacker",15            "engine": "Motor",16            "engine_input": "Motor invoeropties",17            "select_language": "selecteer een taal {0}",18            "range": "scan alle IP's in het bereik",19            "subdomains": "zoek en scan subdomeinen",20            "thread_number_connections": "garennummers voor verbindingen met een host",21            "thread_number_hosts": "garennummers voor scanhosts",22            "save_logs": "sla alle logs in bestand op (results.txt, results.html, results.json)",23            "target": "Doelwit",24            "target_input": "Target invoeropties",25            "target_list": "doel (en) lijst, gescheiden door \",\"",26            "read_target": "lees doel (en) uit bestand",27            "scan_method_options": "Opties voor scanmethoden",28            "choose_scan_method": "kies scanmethode {0}",29            "exclude_scan_method": "kies scanmethode om {0} uit te sluiten",30            "username_list": "gebruikersnaam (s) lijst, gescheiden door \",\"",31            "username_from_file": "lees gebruikersnaam (s) uit bestand",32            "password_seperator": "wachtwoord (en) lijst, gescheiden door \",\"",33            "read_passwords": "lees wachtwoord (s) uit bestand",34            "port_seperator": "poort (en) lijst, gescheiden door \",\"",35            "time_to_sleep": "tijd om te slapen tussen elk verzoek",36            "error_target": "Kan het doel (de doelen) niet specificeren",37            "error_target_file": "Kan doel (en) niet specificeren, kan bestand niet openen: {0}",38            "thread_number_warning": "het is beter om een ââdraadnummer lager dan 100 te "39                                     "gebruiken, trouwens, we gaan door ...",40            "set_timeout": "time-out op {0} seconden instellen, het is te groot, toch? trouwens, we gaan door ...",41            "scan_module_not_found": "deze scanmodule [{0}] niet gevonden!",42            "error_exclude_all": "je kunt niet alle scanmethoden uitsluiten",43            "exclude_module_error": "de {0} module die je hebt geselecteerd om uit te sluiten, is niet gevonden!",44            "method_inputs": "voer methoden invoeren in, bijvoorbeeld: ftp_brute_users = test, admin "45                             "& ftp_brute_passwds = read_from_file: /tmp/pass.txt&ftp_brute_port=21",46            "error_reading_file": "kan bestand {0} niet lezen",47            "error_username": "Kan de gebruikersnaam (s) niet specificeren, kan het bestand niet openen: {0}",48            "found": "{0} gevonden! ({1}: {2})",49            "error_password_file": "Kan het wachtwoord of de wachtwoorden niet opgeven, kan het "50                                   "bestand niet openen: {0}",51            "file_write_error": "bestand \"{0}\" is niet beschrijfbaar!",52            "scan_method_select": "kies alstublieft uw scanmethode!",53            "remove_temp": "temp-bestanden verwijderen!",54            "sorting_results": "sorteerresultaten!",55            "done": "gedaan!",56            "start_attack": "begin met het aanvallen van {0}, {1} of {2}",57            "module_not_available": "deze module \"{0}\" is niet beschikbaar",58            "error_platform": "helaas kon deze versie van de software gewoon worden uitgevoerd op "59                              "linux / osx / windows.",60            "python_version_error": "Je Python-versie wordt niet ondersteund!",61            "skip_duplicate_target": "sla duplicaat doel over (sommige subdomeinen / domeinen kunnen "62                                     "hetzelfde IP en bereik hebben)",63            "unknown_target": "onbekend type doelwit [{0}]",64            "checking_range": "het bereik {0} controleren ...",65            "checking": "controle van {0} ...",66            "HOST": "HOST",67            "USERNAME": "USERNAME",68            "PASSWORD": "WACHTWOORD",69            "PORT": "HAVEN",70            "TYPE": "TYPE",71            "DESCRIPTION": "BESCHRIJVING",72            "verbose_level": "uitgebreid niveau (0-5) (standaard 0)",73            "software_version": "toon softwareversie",74            "check_updates": "controleer op updates",75            "outgoing_proxy": "uitgaande verbindingen proxy (sokken). voorbeeld socks5: 127.0.0.1:9050, "76                              "socks: //127.0.0.1: 9050 socks5: //127.0.0.1: 9050 or socks4: socks4: "77                              "//127.0.0.1: 9050, authentication: socks: // gebruikersnaam: wachtwoord @ "78                              "127.0.0.1, socks4: // gebruikersnaam: wachtwoord@127.0.0.1, socks5: // "79                              "gebruikersnaam: wachtwoord@127.0.0.1",80            "valid_socks_address": "voer een geldig sokkenadres en -poort in. voorbeeld socks5: 127.0.0.1:9050,"81                                   " socks: //127.0.0.1: 9050, socks5: //127.0.0.1: 9050 or socks4: socks4: "82                                   "//127.0.0.1: 9050, authentication: socks: // gebruikersnaam: wachtwoord @"83                                   " 127.0.0.1, socks4: // gebruikersnaam: wachtwoord@127.0.0.1, socks5: // "84                                   "gebruikersnaam: wachtwoord@127.0.0.1",85            "connection_retries": "Nieuwe pogingen wanneer de time-out van de verbinding is ingesteld (standaard 3)",86            "ftp_connection_timeout": "ftp-verbinding met {0}: {1} time-out, overslaan {2}: {3}",87            "login_successful": "SUCCESVOL INGELOGD!",88            "login_list_error": "SUCCES INGEHEVEN, TOESTEMMING ONTKEND VOOR LIJSTOPDRACHT!",89            "ftp_connection_failed": "ftp-verbinding met {0}: {1} mislukt, hele stap overslaan [proces {2} "90                                     "van {3}]! naar de volgende stap gaan",91            "input_target_error": "invoerdoel voor de {0} module moet DOMAIN, HTTP of "92                                  "SINGLE_IPv4 zijn, en {1} overslaan",93            "user_pass_found": "gebruiker: {0} pass: {1} host: {2} poort: {3} gevonden!",94            "file_listing_error": "(GEEN TOESTEMMING VOOR LIJSTBESTANDEN)",95            "trying_message": "proberen {0} van {1} in proces {2} van {3} {4}: {5} ({6})",96            "smtp_connection_timeout": "smtp-verbinding met {0}: {1} time-out, overslaan {2}: {3}",97            "smtp_connection_failed": "smtp-verbinding met {0}: {1} mislukt, hele stap overslaan "98                                      "[proces {2} van {3}]! naar de volgende stap gaan",99            "ssh_connection_timeout": "ssh-verbinding met {0}: {1} time-out, overslaan {2}: {3}",100            "ssh_connection_failed": "ssh-verbinding met {0}: {1} is mislukt, hele stap overslaan "101                                     "[proces {2} van {3}]! naar de volgende stap gaan",102            "port/type": "{0} / {1}",103            "port_found": "host: {0} poort: {1} ({2}) gevonden!",104            "target_submitted": "target {0} ingediend!",105            "current_version": "u gebruikt OWASP Nettacker-versie {0} {1} {2} {6} met codenaam {3} {4} {5}",106            "feature_unavailable": "deze functie is nog niet beschikbaar! voer alstublieft \"git clone "107                                   "https://github.com/zdresearch/OWASP-Nettacker.git or pip install -U "108                                   "OWASP-Nettacker uit om de laatste versie te krijgen.",109            "available_graph": "maak een grafiek van alle activiteiten en informatie, gebruik HTML-uitvoer. "110                               "beschikbare grafieken: {0}",111            "graph_output": "om de grafische functie te gebruiken, moet uw uitvoerbestandsnaam eindigen op "112                            "\".html\" of \".htm\"!",113            "build_graph": "grafiek opbouwen ...",114            "finish_build_graph": "bouw grafiek af!",115            "pentest_graphs": "Penetratie Testen grafieken",116            "graph_message": "Deze grafiek is gemaakt door OWASP Nettacker. Grafiek bevat alle modules-activiteiten,"117                             " netwerkkaart en gevoelige informatie. Gelieve dit bestand niet met iemand te delen "118                             "als het niet betrouwbaar is.",119            "nettacker_report": "OWASP Nettacker-rapport",120            "nettacker_version_details": "Softwaredetails: OWASP Nettacker-versie {0} [{1}] in {2}",121            "no_open_ports": "geen open poorten gevonden!",122            "no_user_passwords": "geen gebruiker / wachtwoord gevonden!",123            "loaded_modules": "{0} modules geladen ...",124            "graph_module_404": "deze grafiekmodule niet gevonden: {0}",125            "graph_module_unavailable": "deze grafische module \"{0}\" is niet beschikbaar",126            "ping_before_scan": "ping voordat je de host scant",127            "skipping_target": "het hele doel {0} overslaan en de scanmethode {1} vanwege --ping-before-scan is waar "128                               "en het reageerde niet!",129            "not_last_version": "u gebruikt de laatste versie van OWASP Nettacker niet, update alstublieft.",130            "cannot_update": "kan niet controleren op update, controleer uw internetverbinding.",131            "last_version": "U gebruikt de laatste versie van OWASP Nettacker ...",132            "directoy_listing": "directoryvermelding gevonden in {0}",133            "insert_port_message": "voer de poort in via de -g of --methods-args switch in plaats van de URL",134            "http_connection_timeout": "HTTP-verbinding {0} time-out!",135            "wizard_mode": "start wizardmodus",136            "directory_file_404": "geen map of bestand gevonden voor {0} in poort {1}",137            "open_error": "kan {0} niet openen",138            "dir_scan_get": "dir_scan_http_method waarde moet GET of HEAD zijn, zet standaard op GET.",139            "list_methods": "lijst alle methoden args",140            "module_args_error": "kan {0} module-argumenten niet krijgen",141            "trying_process": "proberen {0} van {1} in proces {2} van {3} op {4} ({5})",142            "domain_found": "domein gevonden: {0}",143            "TIME": "TIJD",144            "CATEGORY": "CATEGORIE",145            "module_pattern_404": "kan geen enkele module vinden met het {0} patroon!",146            "enter_default": "vul alstublieft {0} | Standaard [{1}]>",147            "enter_choices_default": "vul alstublieft {0} | keuzes [{1}] | Standaard [{2}]>",148            "all_targets": "de doelen",149            "all_thread_numbers": "het nummer van de draad",150            "out_file": "de bestandsnaam van de uitvoer",151            "all_scan_methods": "de scanmethoden",152            "all_scan_methods_exclude": "de scanmethoden om uit te sluiten",153            "all_usernames": "de gebruikersnamen",154            "all_passwords": "de wachtwoorden",155            "timeout_seconds": "de time-out seconden",156            "all_ports": "de poortnummers",157            "all_verbose_level": "het uitgebreide niveau",158            "all_socks_proxy": "de sokken proxy",159            "retries_number": "het nummer van de pogingen",160            "graph": "een grafiek",161            "subdomain_found": "gevonden subdomein: {0}",162            "select_profile": "selecteer profiel {0}",163            "profile_404": "het profiel \"{0}\" niet gevonden!",164            "waiting": "wachten op {0}",165            "vulnerable": "kwetsbaar voor {0}",166            "target_vulnerable": "doel {0}: {1} is kwetsbaar voor {2}!",167            "no_vulnerability_found": "geen kwetsbaarheid gevonden! ({0})",168            "Method": "Methode",169            "API": "API",170            "API_options": "API-opties",171            "start_API": "start de API-service",172            "API_host": "API host-adres",173            "API_port": "API poortnummer",174            "API_debug": "API-foutopsporingsmodus",175            "API_access_key": "API-toegangssleutel",176            "white_list_API": "staat witte lijst hosts toe om verbinding te maken met de API",177            "define_whie_list": "definieer witte lijst hosts, gescheiden met, (voorbeelden: 127.0.0.1, 192.168.0.1/24, "178                                "10.0.0.1-10.0.0.255)",179            "gen_API_access_log": "API-toegangslog genereren",180            "API_access_log_file": "API-toegang logboek bestandsnaam",181            "API_port_int": "API-poort moet een geheel getal zijn!",182            "unknown_ip_input": "onbekend ingangstype, geaccepteerde typen zijn SINGLE_IPv4, RANGE_IPv4, CIDR_IPv4",183            "API_key": "* API-sleutel: {0}",184            "ports_int": "poorten moeten gehele getallen zijn! (bijvoorbeeld 80 || 80,1080 || 80,1080-1300,9000,"185                         "12000-15000)",186            "through_API": "Via de OWASP Nettacker API",187            "API_invalid": "ongeldige API-sleutel",188            "unauthorized_IP": "uw IP is niet geautoriseerd",189            "not_found": "Niet gevonden!",190            "no_subdomain_found": "subdomain_scan: geen subdomein opgericht!",191            "viewdns_domain_404": "viewdns_reverse_ip_lookup_scan: geen domein gevonden!",192            "browser_session_valid": "uw browsersessie is geldig",193            "browser_session_killed": "je browsersessie vermoord",194            "updating_database": "de database bijwerken ...",195            "database_connect_fail": "Kon niet verbinden met de database!",196            "inserting_report_db": "rapport in de database invoegen",197            "inserting_logs_db": "logs in de database invoegen",198            "removing_logs_db": "het verwijderen van oude logs van db",199            "len_subdomain_found": "{0} subdomein (en) gevonden!",200            "len_domain_found": "{0} domein (en) gevonden!",201            "phpmyadmin_dir_404": "geen phpmyadmin gevonden!",202            "DOS_send": "doS-pakketten verzenden naar {0}",203            "host_up": "{0} is op! De tijd om terug te pingen is {1}",204            "host_down": "Kan {0} niet pingen!",205            "root_required": "dit moet als root worden uitgevoerd",206            "admin_scan_get": "admin_scan_http_method waarde moet GET of HEAD zijn, zet standaard op GET.",207            "telnet_connection_timeout": "telnet-verbinding met {0}: {1} time-out, overslaan {2}: {3}",208            "telnet_connection_failed": "Telnet-verbinding met {0}: {1} is mislukt, hele stap overslaan [proces "209                                        "{2} van {3}]! naar de volgende stap gaan",210            "http_auth_success": "http basis authenticatiesucces - host: {2}: {3}, gebruiker: {0}, pass: {1} gevonden!",211            "http_auth_failed": "http-basisverificatie mislukt {0}: {3} met behulp van {1}: {2}",212            "http_form_auth_success": "http form authentication success - host: {2}: {3},"213                                      " user: {0}, pass: {1} gevonden!",214            "http_form_auth_failed": "http form authentication failed to {0}: {3} met behulp van {1}: {2}",215            "http_ntlm_success": "http ntlm authentication success - host: {2}: {3}, user: {0}, pass: {1} gevonden!",216            "http_ntlm_failed": "http ntlm authentication failed to {0}: {3} met behulp van {1}: {2}",217            "no_response": "kan geen reactie krijgen van het doelwit",218            "category_framework": "categorie: {0}, frameworks: {1} gevonden!",219            "nothing_found": "niets gevonden op {0} in {1}!",220            "no_auth": "Geen authenticatie gevonden op {0}: {1}"...vragenlijst_vraag.py
Source:vragenlijst_vraag.py  
1#Class Vraag2from db_support            import *3from win_inifile_support   import *4from vragenlijst_constants import *5from vragenlijst_vraag_subschaal import t_Vraag_SubSchaal6import os7# ***********************************************************************8# ***********************************************************************9class t_Vraag ( Ini_DB_Object ) :10  def __init__ ( self, parent, indx ) :11    self.Vragenlijst = parent12    Ini_DB_Object.__init__ ( self )13    #self.Primary_Key = None14    self.ID_Column = 'VID'15    #                                type  default    NotNull   Primary Key16    self.Attribs = {}17    self.Attribs [ 'VraagSoort'              ] = [ str,  '0:Unknown'   ,True  ]18    self.Attribs [ 'Vraag_Hoogte'            ] = [ int,  100   ,True  ]19    self.Attribs [ 'Antwoord_Afstand'        ] = [ int,  0     ,False ]20    #self.Attribs [ 'Versie_684_1'            ] = [ bool, False ,False ]21    self.Attribs [ 'Explicit'                ] = [ bool, False ,False ]22    self.Attribs [ 'Vraag_Sound'             ] = [ str,  ''    ,False ]23    self.Attribs [ 'Font1_Name'              ] = [ str,  ''    ,False ]24    self.Attribs [ 'Font1_Size'              ] = [ int,  12    ,False ]25    self.Attribs [ 'Font1_Color'             ] = [ int,  0     ,False ]26    self.Attribs [ 'Font1_Style'             ] = [ int,  0     ,False ]27    # komt voor bij vraag 428    self.Attribs [ 'Font2_Name'              ] = [ str,  ''    ,False ]29    self.Attribs [ 'Font2_Size'              ] = [ int,  None  ,False ]30    self.Attribs [ 'Font2_Color'             ] = [ int,  None  ,False ]31    self.Attribs [ 'Font2_Style'             ] = [ int,  None  ,False ]32    # komt voor bij vraag 633    self.Attribs [ 'Aantal_SubVragen'        ] = [ int,  5     ,True  ]34    self.Attribs [ 'Nummers_Zichtbaar'       ] = [ bool, False  ,False ]35    self.Attribs [ 'SplitBlok'               ] = [ int,  0     ,False ]36    self.Attribs [ 'Aantal_BlokAntwoorden'   ] = [ int,  5     ,True  ]37    self.Attribs [ 'Ruimte_Tussen_SubVragen' ] = [ int,  0     ,False ]38    self.Attribs [ 'Kolom_Offset_Number'     ] = [ int,  1     ,False ]39    self.Attribs [ 'Vars_Integer'            ] = [ list, 0     ,False ]40    self.Attribs [ 'Vars_Boolean'            ] = [ list, 0     ,False ]41    self.Attribs [ 'Overslaan'               ] = [ list, 0     ,False ]42    self.Attribs [ 'RapportRegel_1'          ] = [ str,  ''    ,False ]43    self.Attribs [ 'RapportRegel_2'          ] = [ str,  ''    ,False ]44    self.Ini  = parent.Ini45    self.Table_Name = '_VV_'+ parent.Name46    self.Indx = indx47    self.Read_Attribs ( 'Vraag_' + str ( indx ) )48    self.Dummy_Vraag_SubSchaal = t_Vraag_SubSchaal ( self )49    # Get the vraagsoort as a number50    self.VraagSoort_Nr        = int ( self.VraagSoort.split(':')[0] )51    # allerlei positionerings variabelen wegschrijven52    # Extra Integers are not read correctly through the Attributes53    self.Vars_Integer = 8 * [ 0 ]54    for i in range ( 8 ) :55      self.Vars_Integer [i] = self.Ini.Read_Integer ( 'Integer_' + str(i+1), 0 )56    # default antwoord zetten57    if self.Vars_Integer [7] != 0 :58      self.Antwoord_Num1 = \59        round ( self.Vars_Integer [0] +60                self.Vars_Integer [2] *61                  ( self.Vars_Integer[1] - self.Vars_Integer[0] ) /62                self.Vars_Integer [7] )63    else :64      self.Antwoord_Num1 = self.Vars_Integer [0]65    self.Vars_Boolean = 9 * [ False ]66    for i in range ( 9 ) :67      self.Vars_Boolean [i] = self.Ini.Read_Bool ( 'Boolean_' + str(i+1), False )68    #print '*******VB',self.Vars_Boolean69    #print self.Ini.Print_All ()70    # Vraag proberen te lezen vanuit RTF71    if self.Vragenlijst.Path :72      filename = self.Vragenlijst.Name + '_' + str ( self.Indx ) + '.rtf'73      filename = os.path.join ( self.Vragenlijst.Path, filename )74      #print 'RTF-file',filename75      if os.path.exists ( filename ) :76        pass77    #else :78    # maar nu even altijd79    self.Vraag = ''80    for i in range ( max_vraag_lines ) :81      line = self.Ini.Read_String ( 'VraagRegel_' + str ( i+1), '' )82      self.Vraag += line + '\n'83    # strip the white space on the right84    self.Vraag = self.Vraag.rstrip ()85    self.Vraag_Rapport = ''86    for i in range ( max_rapport_lines ) :87      line = self.Ini.Read_String ( 'RapportRegel_' + str ( i+1), '' )88      self.Vraag_Rapport += line + '\n'89    # strip the white space on the right90    self.Vraag_Rapport = self.Vraag_Rapport.rstrip ()91    # Antwoorden92    self.Keuze_Antwoord   = {}93    self.Rapport_Antwoord = {}94    self.Answer_Image     = {}95    for i in range ( keuze_antwoorden_maxn ) :96      if not ( i in self.Keuze_Antwoord ) :97        self.Keuze_Antwoord [i] = ''98        self.Rapport_Antwoord [i] = ''99        #print 'Create',type(self.Keuze_Antwoord [i])100      for ii in range ( max_regels_per_keuze ) :101        line = self.Ini.Read_String ( 'Antwoord_' + str(i+1) + '/' + str(ii+1), '');102        #convert_from_inifile_compatible(line);103        if isinstance ( line, list ) :104          line = ','.join ( line )105        #print 'Create',type(self.Keuze_Antwoord [i]),type(line),indx,i,ii,line106        self.Keuze_Antwoord [i] += line + '\n'107        line = self.Ini.Read_String ( 'Rapport_' + str(i+1) + '/' + str(ii+1), '');108        #convert_from_inifile_compatible(line);109        if isinstance ( line, list ) :110          line = ','.join ( line )111        #print 'Create',type(self.Keuze_Antwoord [i]),type(line),indx,i,ii,line112        self.Rapport_Antwoord [i] += line + '\n'113        self.Answer_Image [i] = self.Ini.Read_String ( 'Image_' + str(i+1), '' )114      self.Keuze_Antwoord [i] = self.Keuze_Antwoord [i].rstrip ()115      self.Rapport_Antwoord [i] = self.Rapport_Antwoord [i].rstrip ()116      # Add to Attribs for database generation117      key = 'Keuze_Antwoord_'   + str(i)118      self.Attribs [ key ] = [ str, '', True ]119      # and add a reference with the same name to the array element120      setattr ( self, key, self.Keuze_Antwoord [i] )121      # also for rapport antwoord122      key = 'Rapport_Antwoord_'   + str(i)123      self.Attribs [ key ] = [ str, '', True ]124      setattr ( self, key, self.Rapport_Antwoord [i] )125    # kolom teksten alleen opbergen als niet leeg,126    # er mogen tussenliggende antwoorden ontbreken127    self.Column_Text      = {}128    for i in range ( 1, verzamel_max_antwoorden + 1 ) :129      line = 'Kolom_' + str(i)130      self.Column_Text [i] = self.Ini.Read_String ( line,'');131      self.Attribs [ line ] = [ str, '', False ]132      setattr ( self, line, self.Column_Text[i] )133    # Subschalen voor deze vraag134    self.SubSchalen = {}135    for SPSS in self.Vragenlijst.SPSS_FullName :136      self.SubSchalen [ SPSS ] = t_Vraag_SubSchaal ( self, SPSS )137    """138    # Element nul wordt gebruikt als default voor alle antwoorden139    for SV in range ( self.Aantal_SubVragen + 1 ) :140      print 'Vraag / SubVraag', self.Indx, SV141      for SPSS in self.Vragenlijst.SPSS_FullName :142        line = str(SV) + '_' + SPSS143        #print '****^^^^****',line144        SubSchaal = self.Ini.Read_String ( line, None )145        if SubSchaal :146          #self.SubSchalen [ SV ].append ( SPSS + '=' + SubSchaal )147          self.SubSchalen [ SV ] [ SPSS ] = SubSchaal148          print ' SUBSCHAAL', SPSS, '=', SubSchaal149          #self.SubSchalen.append ( line + '=' + SubSchaal )150          # parse subschaal en opbergen151          #empty = parse_subschaal ( SubSchaal, a,b, ar )152          #if not empty :153          #  SubSchalen ...154          #print '*********** SUBSCHAAL', SubSchaal155    """156    """1571 sen=1 01581 totaal=1 015910 ago=1 016010 totaal=1 01612 som=1 01622 totaal=1 0163          """164        165    # Overslaan166    self.Overslaan = keuze_antwoorden_maxn * [ '' ]167    for i in range ( keuze_antwoorden_maxn ) :168      line = '1/' +  str(i+1) + ' Skip'169      regel = self.Ini.Read_String ( line, '' )170      if regel :171        self.Overslaan [i] = line + '=' + regel172  def Print_Vraag ( self ) :173    self.Print ( 'Vraag : ' + str ( self.Indx ) )174    #print '  Default Antwoord =', self.Antwoord_Num1175    for A in self.Keuze_Antwoord :176      if self.Keuze_Antwoord [A] :177        line = '  Antw ' + str(A+1) + ' = ' + str ( self.Keuze_Antwoord [A] )178        line = line.replace ( '\n', '\r\n          ' )179        print line180    print ''181    for A in self.Rapport_Antwoord :182      if self.Rapport_Antwoord [A] :183        line = '  Antw Rapport' + str(A+1) + ' = ' + str ( self.Rapport_Antwoord [A] )184        line = line.replace ( '\n', '\r\n          ' )185        print line186    for i, CT in enumerate ( self.Column_Text ) :187      line = self.Column_Text [ CT ]188      if line :189        print '  kolom', CT, '=', line190    print '  Subschalen, aantal = '191    for SS in self.SubSchalen :192      print '    ' + SS193    print ''194    print '  Overslaan = ', self.Overslaan195    if self.Indx == 1 :196      Table_Def = self.Get_Table_Def ()197      v3print ( '\n----- SQL Table Definition -----' )198      for item in Table_Def :199        v3print ( ' ', item )...DINO_lezen.py
Source:DINO_lezen.py  
1#dit pythonscript gaat de dino bestanden selectief inlezen.2#dat gaat het doen doordat de bestanden en hun headers uit blokken bestaan die met behulp van witregels gescheiden zijn.3#auteur: John van Dam4#datum: 01-02-20165#opbouw bestanden6#blok 1: titel en andere meuk, 6 regels, 1 witregel7#blok 2: verklaring woorden, 3 regels, 1 witregel8#blok 3: Beschrijving filters, variabel aantal regels, 2 witregels9#blok 4: de tijdreeks, variabele lengte DIT WIL IK INLEZEN10#oplossing 1: tel het aantal regels tot aan de werkelijke tijdreeks en laat pandas het werk doen.11#de bestandjes met *_0.csv als extensie bevatten alleen de stand ten opzichte van maaiveld, die gebruiken.12#De opbouw van deze jongens is:13#blok 1, algemene informatie over de aanvraag, gevolgd door twee witregels14#blok 2, variabel aantal regels over herinmetingen van de peilbuis + de coordinaten van de peilbuis, gevolgd door een witregel15#blok 3, de tijdserie16import os, sys17import pandas as pd18from dateutil import parser19from pandas.tslib import parse_date20import matplotlib.pyplot as plt21import pylab22from GxG_mt import GLG_berekening, GHG_berekening23bestandspad = "/home/john/Documenten/Afstuderen_Acacia_water/Data/Noorderzijlvest-gegevens/Noorderzijlvest/DINO/Uitgepakt/Grondwaterstanden_Put/" #"/home/john/Documenten/Afstuderen_Acacia_water/Data/dino_gedeelte_NZV/Grondwaterstanden_Put/"24os.chdir(bestandspad)25if len(sys.argv) == 2:26    lijst_infiles = sys.argv[1]27    command = 'dummy'28elif len(sys.argv) == 3:29    lijst_infiles = str(sys.argv[1])30    command = sys.argv[2]31else:32    print "gebruik, ", sys.argv[0], " lijst_infiles [plot]"33infiles = []34with open(lijst_infiles, 'r') as fileinput:35    for line in fileinput:36        infiles.append(str(line.rstrip('\r\n')))37fileinput.close()38#infiles = ["B07A0969001_1.csv", "B03D0321001_1.csv", "B12A1810001_1.csv", "B12B1649001_1.csv", "B03D0320001_1.csv", "B03D0322001_1.csv", "B03D0323001_1.csv", "B12A1811001_1.csv", "B12B1640001_1.csv", "B12B1642001_1.csv", "B07D1894001_1.csv", "B12C1594001_1.csv", "B12A1795001_1.csv", "B07C1717001_1.csv", "B03C0262001_1.csv", "B12A1747001_1.csv", "B07C0267001_1.csv", "B12A0213001_1.csv", "B07C1722001_1.csv", "B07D1893001_1.csv", "B12A1801001_1.csv", "B12C1542001_1.csv", "B12C1598001_1.csv", "B07D1895001_1.csv", "B07C1710001_1.csv", "B07A0967001_1.csv", "B12A0120001_1.csv", "B07C1705001_1.csv", "B12A1808001_1.csv", "B12C1602001_1.csv", "B12A1760001_1.csv", "B12A1814001_1.csv", "B12C0056001_1.csv", "B12A1812001_1.csv", "B12C1596001_1.csv", "B12A1756001_1.csv", "B07B1136001_1.csv", "B07D2561001_1.csv", "B07B1137001_1.csv", "B07B1138001_1.csv", "B07A0966001_1.csv", "B12A1794001_1.csv", "B03C0264001_1.csv", "B12C1605001_1.csv", "B07C1712001_1.csv", "B07C1721001_1.csv", "B07C1728001_1.csv", "B12B1650001_1.csv", "B07C1729001_1.csv", "B12A1767001_1.csv", "B12B1643001_1.csv", "B12A1798001_1.csv", "B07C1713001_1.csv", "B12A1759001_1.csv", "B12B1652001_1.csv", "B12C1601001_1.csv", "B12A1750001_1.csv", "B07C1724001_1.csv", "B12B1724001_1.csv", "B07B1148001_1.csv", "B07A0965001_1.csv", "B07D1892001_1.csv", "B07C1709001_1.csv", "B07D1891001_1.csv", "B07C1714001_1.csv", "B07C1739001_1.csv", "B07C1736001_1.csv", "B07C1726001_1.csv", "B12B1644001_1.csv", "B07C1718001_1.csv", "B07C1715001_1.csv", "B12B1651001_1.csv", "B07C1716001_1.csv", "B07C1720001_1.csv", "B12B1647001_1.csv", "B07C1735001_1.csv", "B07C1711001_1.csv", "B07C1725001_1.csv", "B07D0242001_1.csv", "B06H1500001_1.csv", "B06H1501001_1.csv", "B07D0497001_1.csv", "B12A1734001_1.csv", "B12A1766001_1.csv", "B12A1763001_1.csv", "B07D2567001_1.csv", "B07B1139001_1.csv", "B07D2562001_1.csv", "B07D2566001_1.csv", "B07C1708001_1.csv", "B12C1604001_1.csv", "B03C0265001_1.csv", "B12A1752001_1.csv", "B12A1762001_1.csv", "B12A1738001_1.csv", "B12B1648001_1.csv", "B07D2563001_1.csv", "B07C1719001_1.csv", "B12C1603001_1.csv", "B07C1706001_1.csv", "B07C1811001_1.csv", "B06H1502001_1.csv", "B12A1754001_1.csv", "B07D2559001_1.csv", "B07D2565001_1.csv", "B07D2560001_1.csv", "B07D2564001_1.csv", "B06H0176001_1.csv", "B06H1503001_1.csv", "B07C1727001_1.csv", "B12A1764001_1.csv", "B06H0175001_1.csv", "B07C1723001_1.csv", "B12B0342001_1.csv", "B12A1749001_1.csv", "B12A1809001_1.csv", "B12C1595001_1.csv", "B07C1808001_1.csv", "B07C1707001_1.csv", "B12C1599001_1.csv", "B12B1645001_1.csv", "B07A0971001_1.csv", "B07A0973001_1.csv", "B07B1142001_1.csv", "B07A0978001_1.csv", "B03D0317001_1.csv", "B03C0263001_1.csv", "B07A0972001_1.csv", "B07A0962001_1.csv", "B07A0976001_1.csv", "B03D0318001_1.csv", "B07B1150001_1.csv", "B03D0316001_1.csv", "B07B1152001_1.csv", "B07A0975001_1.csv", "B07B1149001_1.csv", "B07A0961001_1.csv", "B07B1145001_1.csv", "B07B1144001_1.csv", "B03D0319001_1.csv", "B07A0964001_1.csv", "B07B1147001_1.csv", "B07B1151001_1.csv", "B07B1140001_1.csv", "B07B1141001_1.csv", "B07A0970001_1.csv", "B07A0963001_1.csv", "B06H1504001_1.csv", "B06H1505001_1.csv", "B12A1736001_1.csv", "B07A0974001_1.csv", "B12B1646001_1.csv", "B12A1737001_1.csv", "B12C1600001_1.csv", "B12A1733001_1.csv", "B12B1790001_1.csv"]39def ruw_csv(infile): #tel hoeveel regels de header van het dino csv-file heeft, zodat deze overgeslagen kunnen worden40    cntwhite = 041    cntline = 042    while not cntwhite ==4:43        with open(infile, 'r') as fileinput:44            for line in fileinput:     45                if line == "\r\n" and cntwhite <= 4:46                    cntwhite+=1 #als er een lege regel aangetroffen is, betekend dit dat er een blok voorbij is wat eigenlijk ingelezen moet worden47                elif len(line)>= 1 and cntwhite <= 3:48                    cntline+=149                elif cntwhite <= 4 or cntline <= 20:50                    overslaan = cntwhite + cntline51                    print overslaan52                    fileinput.close()53                    break54    return overslaan        55def plot(df, bestandspad, plotnaam): #plot alleen de gemeten reeks56    df.plot()57    plt.xlabel('Tijd')58    plt.title('Tijdstijghoogtelijn' + plotnaam)59    pylab.savefig(bestandspad + plotnaam + '.png')#, bbox_inches='tight')60    ax = pylab.gca()61    ax.set_ylabel('$cm-mv$')62    ax.text(2, 6,  plotnaam, fontsize=15)63    pylab.close()64def plot2(df, df2, bestandspad, plotnaam): #plot zowel de gemeten als de met het FTM berekende reeks65    ax = df2.plot(label='berekend', color = 'g')66    df.plot(ax=ax, label='gemeten', color = 'b') #df2.plot(label='berekend')67    #df.plot(label='gemeten')68    plt.xlabel('Tijd')69    plt.title('Tijdstijghoogtelijn ' + plotnaam[9:])70    pylab.savefig(bestandspad + plotnaam + 'f.png')#, bbox_inches='tight')71    ax = pylab.gca()72    ax.set_ylabel('$cm-mv$')73    ax.text(2, 6,  plotnaam, fontsize=15)74    pylab.close()75of = open("/home/john/Documenten/Afstuderen_Acacia_water/Data/Noorderzijlvest-gegevens/Noorderzijlvest/DINO/Uitgepakt/Grondwaterstanden_Put/statistiek.txt", 'w')76of.write("Locatie, GLG_meting, GHG_meting, GLG_berekend, GHG_berekend\n")77for i in infiles:78    infile = i79    print i80    berekend = "berekend/" + infile[0:8] + ".csv"81    print berekend82    overslaan = ruw_csv(infile)83    print overslaan 84    df = pd.read_csv(infile, skiprows=overslaan,index_col=[2], parse_dates=True, usecols={2,4})85    #print(df)86    df2 = pd.read_csv(berekend, index_col=[0], parse_dates=True)87    df.dropna(how='any')88    #print df['Stand (cm t.o.v. MV)']89    #df*-190    ser_meet = pd.Series(df['Stand (cm t.o.v. MV)']*-1, index = df.index)91    #print 'GLG en GHG metingen:', GLG_berekening(ser_meet), GHG_berekening(ser_meet)92    ser_berekend = pd.Series(df2['Grondwaterstanden'], index = df2.index)93    #print 'GLG en GHG berekening:', GLG_berekening(ser_berekend), GHG_berekening(ser_berekend)94    Locatie = i 95    GLG_meting = GLG_berekening(ser_meet)96    GHG_meting = GHG_berekening(ser_meet)97    GLG_berekend = GLG_berekening(ser_berekend)98    GHG_berekend = GHG_berekening(ser_berekend)99    of.write("%s, %f, %f, %f, %f\n" % (Locatie, GLG_meting, GHG_meting, GLG_berekend, GHG_berekend))100    if command == 'plot':101        plot(df*-1, bestandspad, i)102        plot2(df*-1, df2, bestandspad, berekend)103of.close()...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
