Changeset 2620 for 2011


Ignore:
Timestamp:
2011-08-08 09:57:49 (8 years ago)
Author:
tekrjant
Message:

Yhtenäisempi whitespace.

Location:
2011/31
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • 2011/31/build_games.py

    r2492 r2620  
    2121 
    2222def check_requirements(): 
    23         global msbuild 
    24         if not exists("lib\\x86\\Jypeli4.dll"): 
    25                 raise Exception("lib\\x86\\Jypeli4.dll expected") 
    26         return_code = call(msbuild + " /? 1> NUL 2> NUL", shell=True) 
    27         if return_code != 0: 
    28                 msbuild = join(os.getenv("SystemRoot"), "Microsoft.NET\\Framework\\v4.0.30319\\MSBuild.exe") 
    29                 if not exists(msbuild): 
    30                         raise Exception("MSBuild not found in " + msbuild) 
     23    global msbuild 
     24    if not exists("lib\\x86\\Jypeli4.dll"): 
     25        raise Exception("lib\\x86\\Jypeli4.dll expected") 
     26    return_code = call(msbuild + " /? 1> NUL 2> NUL", shell=True) 
     27    if return_code != 0: 
     28        msbuild = join(os.getenv("SystemRoot"), "Microsoft.NET\\Framework\\v4.0.30319\\MSBuild.exe") 
     29        if not exists(msbuild): 
     30            raise Exception("MSBuild not found in " + msbuild) 
    3131 
    3232 
    3333def create_output_directory(): 
    34         if not exists(output_dir): 
    35                 os.mkdir(output_dir) 
    36         for d in personal_dirs: 
    37                 if not exists(join(output_dir, d)): 
    38                         os.mkdir(join(output_dir, d)) 
     34    if not exists(output_dir): 
     35        os.mkdir(output_dir) 
     36    for d in personal_dirs: 
     37        if not exists(join(output_dir, d)): 
     38            os.mkdir(join(output_dir, d)) 
    3939 
    4040def create_build_result_directory(): 
    41         if not exists(build_result_dir): 
    42                 os.mkdir(build_result_dir) 
     41    if not exists(build_result_dir): 
     42        os.mkdir(build_result_dir) 
    4343 
    4444 
     
    5656 
    5757def build_games(): 
    58         for d in personal_dirs: 
    59                 path = abspath(d) 
    60                 if exists(join(path, ".svn")): 
    61                         call("svn update " + path, shell=True) 
    62                         outputs = Popen("svn info " + path, stdout=PIPE).communicate() 
    63                         time = parse_last_changed_date(outputs[0]) 
    64                 build_games_in_personal_dir(path, time) 
     58    for d in personal_dirs: 
     59        path = abspath(d) 
     60        time = datetime(2000, 1, 1) 
     61        if exists(join(path, ".svn")): 
     62            call("svn update " + path, shell=True) 
     63            outputs = Popen("svn info " + path, stdout=PIPE).communicate() 
     64            time = parse_last_changed_date(outputs[0]) 
     65        build_games_in_personal_dir(path, time) 
    6566 
    6667 
     
    6970 
    7071def get_weekday_name(n): 
    71         if n == 0: return "Maanantai" 
    72         if n == 1: return "Tiistai" 
    73         if n == 2: return "Keskiviikko" 
    74         if n == 3: return "Torstai" 
    75         if n == 4: return "Perjantai" 
    76         if n == 5: return "Lauantai" 
    77         if n == 6: return "Sunnuntai" 
    78         raise Exception("Invalid weekday number") 
     72    if n == 0: return "Maanantai" 
     73    if n == 1: return "Tiistai" 
     74    if n == 2: return "Keskiviikko" 
     75    if n == 3: return "Torstai" 
     76    if n == 4: return "Perjantai" 
     77    if n == 5: return "Lauantai" 
     78    if n == 6: return "Sunnuntai" 
     79    raise Exception("Invalid weekday number") 
    7980 
    8081def write_result(author, name, success, last_changed_date): 
    81         global counter 
    82         with open(join(build_result_dir, str(counter)+".txt"), "w") as f: 
    83                 f.write(author+"\n") 
    84                 f.write(name+"\n") 
    85                 result = "success" 
    86                 if not success: 
    87                         result = "fail" 
    88                 f.write(result+"\n") 
    89                 formatted_time = get_weekday_name(last_changed_date.weekday()) + last_changed_date.strftime(" %H:%M") 
    90                 f.write(formatted_time+"\n") 
    91         counter += 1 
     82    global counter 
     83    with open(join(build_result_dir, str(counter)+".txt"), "w") as f: 
     84        f.write(author+"\n") 
     85        f.write(name+"\n") 
     86        result = "success" 
     87        if not success: 
     88            result = "fail" 
     89        f.write(result+"\n") 
     90        formatted_time = get_weekday_name(last_changed_date.weekday()) + last_changed_date.strftime(" %H:%M") 
     91        f.write(formatted_time+"\n") 
     92    counter += 1 
    9293 
    9394 
    9495def build_games_in_personal_dir(personal_dir, last_changed_date): 
    95         for root, dirs, files in os.walk(personal_dir): 
    96                 if '.svn' in dirs: 
    97                         dirs.remove('.svn') 
    98                 projects = glob(join(root, '*.csproj')) 
    99                 if projects: 
    100                         if len(projects) > 1: 
    101                                 print "NOTE: There is more than one project file in", root 
     96    for root, dirs, files in os.walk(personal_dir): 
     97        if '.svn' in dirs: 
     98            dirs.remove('.svn') 
     99        projects = glob(join(root, '*.csproj')) 
     100        if projects: 
     101            if len(projects) > 1: 
     102                print "NOTE: There is more than one project file in", root 
    102103 
    103                         project_name = splitext(basename(projects[0]))[0] 
    104                         author = basename(personal_dir) 
     104            project_name = splitext(basename(projects[0]))[0] 
     105            author = basename(personal_dir) 
    105106 
    106                         success = build(projects[0]) 
    107                         write_result(author, project_name, success, last_changed_date) 
     107            success = build(projects[0]) 
     108            write_result(author, project_name, success, last_changed_date) 
    108109 
    109                         if success: 
    110                                 dst_dir = join(output_dir, author) 
    111                                 copy_game(project_name, root, dst_dir) 
    112                                 print author + ": " + project_name 
    113                         else: 
    114                                 projects_that_did_not_build.append(projects[0]) 
     110            if success: 
     111                dst_dir = join(output_dir, author) 
     112                copy_game(project_name, root, dst_dir) 
     113                print author + ": " + project_name 
     114            else: 
     115                projects_that_did_not_build.append(projects[0]) 
    115116 
    116117 
    117118def build(project_file_path): 
    118         build_cmd = msbuild + ' /nologo /verbosity:quiet /p:XnaProfile=Reach /p:Configuration=Release /p:"ReferencePath=%s" /t:Build "%s"' % (lib_dir_x86, project_file_path) 
    119         return call(build_cmd, shell=True) == 0 
     119    build_cmd = msbuild + ' /nologo /verbosity:quiet /p:XnaProfile=Reach /p:Configuration=Release /p:"ReferencePath=%s" /t:Build "%s"' % (lib_dir_x86, project_file_path) 
     120    return call(build_cmd, shell=True) == 0 
    120121 
    121122 
    122123def copy_game(project_name, project_dir, dst_dir): 
    123         bin = join(project_dir, "bin\\x86\\Release") 
    124         if not exists(bin): 
    125                 print "NO BIN DIR FOUND IN", project_dir 
    126         dst = join(dst_dir, project_name) 
    127         if exists(dst): 
    128                 rmtree(dst) 
    129         copytree(bin, dst, ignore=shutil.ignore_patterns('.svn', '*.pdb', 'jypeli4.xml')) 
    130  
     124    bin = join(project_dir, "bin\\x86\\Release") 
     125    if not exists(bin): 
     126        print "NO BIN DIR FOUND IN", project_dir 
     127    dst = join(dst_dir, project_name) 
     128    if exists(dst): 
     129        rmtree(dst) 
     130    copytree(bin, dst, ignore=shutil.ignore_patterns('.svn', '*.pdb', 'jypeli4.xml')) 
    131131 
    132132 
    133133def main(): 
    134         try: 
    135                 check_requirements() 
    136                 create_output_directory() 
    137                 create_build_result_directory() 
    138                 build_games() 
    139         except KeyboardInterrupt: 
    140                 print "BUILD CANCELLED" 
    141         except Exception, e: 
    142                 print 
    143                 print "NOT SUCCESSFUL:", e 
    144                 return 1 
     134    try: 
     135        check_requirements() 
     136        create_output_directory() 
     137        create_build_result_directory() 
     138        build_games() 
     139    except KeyboardInterrupt: 
     140        print "BUILD CANCELLED" 
     141    except Exception, e: 
     142        print 
     143        print "NOT SUCCESSFUL:", e 
     144        return 1 
    145145 
    146         print 
    147         print 'Projects that did not build (%d):' % len(projects_that_did_not_build) 
    148         for p in projects_that_did_not_build: 
    149                 print p 
     146    print 
     147    print 'Projects that did not build (%d):' % len(projects_that_did_not_build) 
     148    for p in projects_that_did_not_build: 
     149        print p 
    150150 
    151151 
    152152if __name__ == '__main__': 
    153         sys.exit(main()) 
     153    sys.exit(main()) 
  • 2011/31/write_report.py

    r2579 r2620  
    5757 
    5858def check_requirements(): 
    59         if not exists("build"): 
    60                 raise Exception("Directory build not found. Run build_games.py first!") 
     59    if not exists("build"): 
     60        raise Exception("Directory build not found. Run build_games.py first!") 
    6161 
    6262def addElement(parent, name): 
    63         node = report.createElement(name) 
    64         parent.appendChild(node) 
    65         return node 
     63    node = report.createElement(name) 
     64    parent.appendChild(node) 
     65    return node 
    6666 
    6767 
    6868def addTextElement(parent, name, value): 
    69         node = report.createElement(name) 
    70         parent.appendChild(node) 
    71         node.appendChild(report.createTextNode(str(value))) 
    72         return node 
     69    node = report.createElement(name) 
     70    parent.appendChild(node) 
     71    node.appendChild(report.createTextNode(str(value))) 
     72    return node 
    7373 
    7474 
    7575def initialize_report(): 
    76         global report 
     76    global report 
    7777 
    78         report = Document() 
    79         html = addElement(report, "html") 
     78    report = Document() 
     79    html = addElement(report, "html") 
    8080 
    81         refresh_tag = addElement(html, "meta") 
    82         refresh_tag.setAttribute("http-equiv", "refresh") 
    83         refresh_tag.setAttribute("content", "30") 
     81    refresh_tag = addElement(html, "meta") 
     82    refresh_tag.setAttribute("http-equiv", "refresh") 
     83    refresh_tag.setAttribute("content", "30") 
    8484 
    85         head = addElement(html, "head") 
    86         style = addTextElement(head, "style", CSS) 
    87         style.setAttribute("type", "text/css") 
    88         addTextElement(head, "title", "Build") 
     85    head = addElement(html, "head") 
     86    style = addTextElement(head, "style", CSS) 
     87    style.setAttribute("type", "text/css") 
     88    addTextElement(head, "title", "Build") 
    8989 
    90         body = addElement(html, "body") 
     90    body = addElement(html, "body") 
    9191 
    92         global table 
    93         table = addElement(body, "table") 
    94         header_row = addElement(table, "tr") 
    95         addTextElement(header_row, "th", "Tekijä") 
    96         addTextElement(header_row, "th", "Peli") 
    97         addTextElement(header_row, "th", "Viimeisimmän talletuksen aika") 
     92    global table 
     93    table = addElement(body, "table") 
     94    header_row = addElement(table, "tr") 
     95    addTextElement(header_row, "th", "Tekijä") 
     96    addTextElement(header_row, "th", "Peli") 
     97    addTextElement(header_row, "th", "Viimeisimmän talletuksen aika") 
    9898 
    9999 
    100100def write_results(): 
    101101    for d in os.listdir("build"): 
    102             with open(join("build", d), "r") as f: 
    103                     lines = f.readlines() 
    104                     author = lines[0].strip() 
    105                     name = lines[1].strip() 
    106                     result = lines[2].strip() 
    107                     time_of_update = lines[3].strip() 
     102        with open(join("build", d), "r") as f: 
     103            lines = f.readlines() 
     104            author = lines[0].strip() 
     105            name = lines[1].strip() 
     106            result = lines[2].strip() 
     107            time_of_update = lines[3].strip() 
    108108 
    109                     if hide_pong_games and re.search("pong", name, flags=re.IGNORECASE): 
    110                             continue 
     109            if hide_pong_games and re.search("pong", name, flags=re.IGNORECASE): 
     110                continue 
    111111 
    112                     success = (result == "success") 
     112            success = (result == "success") 
    113113 
    114                     style = "success" 
    115                     if not success: 
    116                             style = "fail" 
    117                     tr = addElement(table, "tr") 
    118                     tr.setAttribute("class", style) 
    119                     addTextElement(tr, "td", author) 
    120                     addTextElement(tr, "td", name) 
    121                     timeElement = addTextElement(tr, "td", time_of_update) 
    122                     timeElement.setAttribute("class", "datetime") 
     114            style = "success" 
     115            if not success: 
     116                style = "fail" 
     117            tr = addElement(table, "tr") 
     118            tr.setAttribute("class", style) 
     119            addTextElement(tr, "td", author) 
     120            addTextElement(tr, "td", name) 
     121            timeElement = addTextElement(tr, "td", time_of_update) 
     122            timeElement.setAttribute("class", "datetime") 
    123123 
    124124 
    125125def write_report(): 
    126         with open(join(report_location, "build_report.html"), "w") as f: 
    127                 f.write(report.toprettyxml()) 
     126    with open(join(report_location, "build_report.html"), "w") as f: 
     127        f.write(report.toprettyxml()) 
    128128 
    129129 
    130130def main(): 
    131         if "--hide-pong" in sys.argv: 
    132                 global hide_pong_games 
    133                 hide_pong_games = True 
     131    if "--hide-pong" in sys.argv: 
     132        global hide_pong_games 
     133        hide_pong_games = True 
    134134 
    135         try: 
    136                 while True: 
    137                         check_requirements() 
    138                         initialize_report() 
    139                         write_results() 
    140                         write_report() 
    141                         print "report written" 
    142                         time.sleep(15) 
    143         except KeyboardInterrupt: 
    144                 print "cancelled" 
    145         except Exception, e: 
    146                 print 
    147                 print "NOT SUCCESSFUL:", e 
    148                 return 1 
     135    try: 
     136        while True: 
     137            check_requirements() 
     138            initialize_report() 
     139            write_results() 
     140            write_report() 
     141            print "report written" 
     142            time.sleep(15) 
     143    except KeyboardInterrupt: 
     144        print "cancelled" 
     145    except Exception, e: 
     146        print 
     147        print "NOT SUCCESSFUL:", e 
     148        return 1 
    149149 
    150150 
    151151if __name__ == '__main__': 
    152         sys.exit(main()) 
     152    sys.exit(main()) 
    153153 
Note: See TracChangeset for help on using the changeset viewer.