Difference between revisions of "User:Alvonruff/Python3 Files"

From ISFDB
Jump to navigation Jump to search
 
(37 intermediate revisions by the same user not shown)
Line 65: Line 65:
 
! String
 
! String
 
! DB Connector
 
! DB Connector
 +
! encode
 +
! FieldStorage
 
|-
 
|-
 
| authorClass.py
 
| authorClass.py
Line 70: Line 72:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
| Y
 
| Y
 
|-
 
|-
Line 76: Line 80:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
| Y
 
| Y
 
|-
 
|-
Line 82: Line 88:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
| Y
 
| Y
 
|-
 
|-
Line 88: Line 96:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
| Y
 
| Y
 
|-
 
|-
Line 94: Line 104:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
| -
 
| -
 
|-
 
|-
Line 101: Line 113:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| isfdblib.py
 
| isfdblib.py
 +
| -
 +
| -
 
| -
 
| -
 
| -
 
| -
Line 113: Line 129:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
|-
 
|-
 
| library.py
 
| library.py
Line 119: Line 137:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
|-
 
|-
 
| localdefs.py
 
| localdefs.py
 +
| -
 +
| -
 
| -
 
| -
 
| -
 
| -
Line 131: Line 153:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| navbar.py
 
| navbar.py
Line 137: Line 161:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| pubClass.py
 
| pubClass.py
Line 142: Line 168:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
| Y
 
| Y
 
|-
 
|-
Line 148: Line 176:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
| Y
 
| Y
 
|-
 
|-
Line 154: Line 184:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
| Y
 
| Y
 
|-
 
|-
Line 160: Line 192:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
| Y
 
| Y
 
|-
 
|-
Line 167: Line 201:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| SQLparsing.py
 
| SQLparsing.py
Line 173: Line 209:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
|-
 
|-
 
| templateClass.py
 
| templateClass.py
Line 178: Line 216:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
| Y
 
| Y
 
|-
 
|-
Line 184: Line 224:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
| Y
 
| Y
 
|-
 
|-
Line 190: Line 232:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
| Y
 
| Y
 
|-
 
|-
Line 197: Line 241:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
|-
 
|-
 
|}
 
|}
Line 207: Line 253:
 
! String
 
! String
 
! DB Connector
 
! DB Connector
 +
! encode
 +
! FieldStorage
 
|-
 
|-
 
| adv_identifier_search.py
 
| adv_identifier_search.py
Line 213: Line 261:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| adv_notes_search.py
 
| adv_notes_search.py
Line 219: Line 269:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| advSearchClass.py
 
| advSearchClass.py
Line 225: Line 277:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| adv_search_menu.py
 
| adv_search_menu.py
Line 231: Line 285:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| adv_search_results.py
 
| adv_search_results.py
Line 236: Line 292:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
| Y
 
| Y
 
|-
 
|-
Line 243: Line 301:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| adv_user_search.py
 
| adv_user_search.py
Line 249: Line 309:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| adv_web_page_search.py
 
| adv_web_page_search.py
Line 255: Line 317:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| ae.py
 
| ae.py
Line 261: Line 325:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| author_history.py
 
| author_history.py
Line 267: Line 333:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| authors_by_debut_year.py
 
| authors_by_debut_year.py
Line 273: Line 341:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| authors_by_debut_year_table.py
 
| authors_by_debut_year_table.py
Line 279: Line 349:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| authortags.py
 
| authortags.py
Line 285: Line 357:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| award_category_history.py
 
| award_category_history.py
Line 291: Line 365:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| award_category.py
 
| award_category.py
Line 297: Line 373:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| award_category_year.py
 
| award_category_year.py
Line 303: Line 381:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| award_details.py
 
| award_details.py
Line 309: Line 389:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| award_directory.py
 
| award_directory.py
Line 315: Line 397:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| award_history.py
 
| award_history.py
Line 321: Line 405:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| awardtype_history.py
 
| awardtype_history.py
Line 327: Line 413:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| awardtype.py
 
| awardtype.py
Line 333: Line 421:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| ay.py
 
| ay.py
Line 339: Line 429:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| biblio.py
 
| biblio.py
Line 345: Line 437:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| calendarClass.py
 
| calendarClass.py
Line 351: Line 445:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| calendar_day.py
 
| calendar_day.py
Line 357: Line 453:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| calendar_menu.py
 
| calendar_menu.py
Line 363: Line 461:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| cancelsubmission.py
 
| cancelsubmission.py
Line 369: Line 469:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| changed_verified_pubs.py
 
| changed_verified_pubs.py
Line 375: Line 477:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| ch.py
 
| ch.py
Line 381: Line 485:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| common.py
 
| common.py
Line 387: Line 493:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| diffselect.py
 
| diffselect.py
Line 393: Line 501:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| directory.py
 
| directory.py
Line 399: Line 509:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| dologin.py
 
| dologin.py
Line 405: Line 517:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| dologout.py
 
| dologout.py
Line 411: Line 525:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| dumpxml.py
 
| dumpxml.py
Line 417: Line 533:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| ea.py
 
| ea.py
Line 423: Line 541:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| eaw.py
 
| eaw.py
Line 429: Line 549:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| external_id_search_results.py
 
| external_id_search_results.py
Line 434: Line 556:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
| Y
 
| Y
 
|-
 
|-
Line 441: Line 565:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| google_search_redirect.py
 
| google_search_redirect.py
Line 447: Line 573:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| index.py
 
| index.py
Line 453: Line 581:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| languages.py
 
| languages.py
Line 459: Line 589:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| most_popular.py
 
| most_popular.py
Line 465: Line 597:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| most_popular_table.py
 
| most_popular_table.py
Line 471: Line 605:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| most_reviewed.py
 
| most_reviewed.py
Line 477: Line 613:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| most_reviewed_table.py
 
| most_reviewed_table.py
Line 483: Line 621:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| mylanguages.py
 
| mylanguages.py
Line 489: Line 629:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| mypreferences.py
 
| mypreferences.py
Line 495: Line 637:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| myrecent.py
 
| myrecent.py
Line 501: Line 645:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| my_removed_secondary_verifications.py
 
| my_removed_secondary_verifications.py
Line 507: Line 653:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| my_secondary_verifications.py
 
| my_secondary_verifications.py
Line 513: Line 661:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| my_unstable_ISBN_verifications.py
 
| my_unstable_ISBN_verifications.py
Line 519: Line 669:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| my_unstable_verifications.py
 
| my_unstable_verifications.py
Line 525: Line 677:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| myverificationsClass.py
 
| myverificationsClass.py
Line 531: Line 685:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| my_verifications_menu.py
 
| my_verifications_menu.py
Line 537: Line 693:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| myvotes.py
 
| myvotes.py
Line 543: Line 701:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| mywebsites.py
 
| mywebsites.py
Line 549: Line 709:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| note.py
 
| note.py
Line 555: Line 717:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| note_search_results.py
 
| note_search_results.py
Line 561: Line 725:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| pe.py
 
| pe.py
Line 567: Line 733:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| pl.py
 
| pl.py
Line 573: Line 741:
 
| Y
 
| Y
 
| Y
 
| Y
 +
|
 +
|
 
|-
 
|-
 
| popular_authors.py
 
| popular_authors.py
Line 579: Line 749:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| popular_authors_table.py
 
| popular_authors_table.py
Line 585: Line 757:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| pub_history.py
 
| pub_history.py
Line 591: Line 765:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| publisher_authors.py
 
| publisher_authors.py
Line 597: Line 773:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| publisher_history.py
 
| publisher_history.py
Line 603: Line 781:
 
| Y
 
| Y
 
| Y
 
| Y
 +
|
 +
|
 
|-
 
|-
 
| publisher_one_author.py
 
| publisher_one_author.py
Line 609: Line 789:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| publisher.py
 
| publisher.py
Line 615: Line 797:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| publisheryear.py
 
| publisheryear.py
Line 621: Line 805:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| pubseries_history.py
 
| pubseries_history.py
Line 627: Line 813:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| pubseries.py
 
| pubseries.py
Line 633: Line 821:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| pubs_not_in_series.py
 
| pubs_not_in_series.py
Line 639: Line 829:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| recent_activity_menu.py
 
| recent_activity_menu.py
Line 645: Line 837:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| recent_primary_ver.py
 
| recent_primary_ver.py
Line 651: Line 845:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| recent.py
 
| recent.py
Line 657: Line 853:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| recentver.py
 
| recentver.py
Line 663: Line 861:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| removed_secondary_verifications.py
 
| removed_secondary_verifications.py
Line 669: Line 869:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| se.py
 
| se.py
Line 675: Line 877:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| seriesgrid.py
 
| seriesgrid.py
Line 681: Line 885:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| series_history.py
 
| series_history.py
Line 687: Line 893:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| seriestags.py
 
| seriestags.py
Line 693: Line 901:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| stats-and-tops.py
 
| stats-and-tops.py
Line 699: Line 909:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| stats.py
 
| stats.py
Line 705: Line 917:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| submitdiff.py
 
| submitdiff.py
Line 711: Line 925:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| submitlogin.py
 
| submitlogin.py
Line 717: Line 933:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
|
 
|-
 
|-
 
| submitmylanguages.py
 
| submitmylanguages.py
Line 723: Line 941:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| submitmywebsites.py
 
| submitmywebsites.py
Line 729: Line 949:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| submitpreferences.py
 
| submitpreferences.py
Line 735: Line 957:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| tag_author.py
 
| tag_author.py
Line 741: Line 965:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| tag.py
 
| tag.py
Line 747: Line 973:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| titlecovers.py
 
| titlecovers.py
Line 753: Line 981:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| title_history.py
 
| title_history.py
Line 759: Line 989:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| title.py
 
| title.py
Line 765: Line 997:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| topcontrib.py
 
| topcontrib.py
Line 771: Line 1,005:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| user_search_results.py
 
| user_search_results.py
Line 777: Line 1,013:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| usertag.py
 
| usertag.py
Line 783: Line 1,021:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| usertitles.py
 
| usertitles.py
Line 789: Line 1,029:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| userver.py
 
| userver.py
Line 795: Line 1,037:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| utils.py
 
| utils.py
Line 801: Line 1,045:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| verification_sources.py
 
| verification_sources.py
Line 807: Line 1,053:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| view_submission.py
 
| view_submission.py
Line 813: Line 1,061:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| webpages_search_results.py
 
| webpages_search_results.py
Line 819: Line 1,069:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
|}
 
|}
Line 1,519: Line 1,771:
 
|-
 
|-
 
| bad_images.py
 
| bad_images.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| bureaucrat.py
 
| bureaucrat.py
Line 1,591: Line 1,843:
 
|-
 
|-
 
| list_verification_sources.py
 
| list_verification_sources.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| marque.py
 
| marque.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| new_language_file.py
 
| new_language_file.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| pa_delete.py
 
| pa_delete.py
Line 1,615: Line 1,867:
 
|-
 
|-
 
| pa_new.py
 
| pa_new.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| pa_update.py
 
| pa_update.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| private_tags.py
 
| private_tags.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| ra_link.py
 
| ra_link.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| recent.py
 
| recent.py
Line 1,651: Line 1,903:
 
|-
 
|-
 
| remove_secondary_verification.py
 
| remove_secondary_verification.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| remove_tag.py
 
| remove_tag.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| resolve_bad_url.py
 
| resolve_bad_url.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| resolve_cleanup.py
 
| resolve_cleanup.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| resolve_empty_containers.py
 
| resolve_empty_containers.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| resolve_sfe3_url.py
 
| resolve_sfe3_url.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| sa_delete.py
 
| sa_delete.py
Line 1,693: Line 1,945:
 
|-
 
|-
 
| sa_update.py
 
| sa_update.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| select_secondary_verification.py
 
| select_secondary_verification.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| self_approver_file.py
 
| self_approver_file.py
Line 1,741: Line 1,993:
 
|-
 
|-
 
| submitref.py
 
| submitref.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| ta_delete.py
 
| ta_delete.py
Line 1,753: Line 2,005:
 
|-
 
|-
 
| tag_breakdown.py
 
| tag_breakdown.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
|-
+
|-
| tag_status_changes.py
+
| tag_status_changes.py
 
| Y
 
| Y
 
| Y
 
| Y
Line 1,777: Line 2,029:
 
|-
 
|-
 
| ta_unmerge.py
 
| ta_unmerge.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| ta_update.py
 
| ta_update.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| template_add_file.py
 
| template_add_file.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| template_update_file.py
 
| template_update_file.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| ua_merge.py
 
| ua_merge.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| unhold.py
 
| unhold.py
Line 1,819: Line 2,071:
 
|-
 
|-
 
| va_new.py
 
| va_new.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| verification_source_add_file.py
 
| verification_source_add_file.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| verification_source_file.py
 
| verification_source_file.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| wa_delete.py
 
| wa_delete.py
Line 1,843: Line 2,095:
 
|-
 
|-
 
| wa_new.py
 
| wa_new.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| wa_update.py
 
| wa_update.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| xa_update.py
 
| xa_update.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| ya_new.py
 
| ya_new.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| ya_remove.py
 
| ya_remove.py
Line 1,873: Line 2,125:
 
|-
 
|-
 
| za_update.py
 
| za_update.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
|}
 
|}
Line 1,887: Line 2,139:
 
! String
 
! String
 
! DB Connector
 
! DB Connector
 +
! encode
 +
! FieldStorage
 +
|-
 +
| getpub_by_ID.py
 +
| Y
 +
| Y
 +
| Y
 +
| Y
 +
|
 +
|
 
|-
 
|-
| xxx
+
| getpub_by_internal_ID.py
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
| getpub.py
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
| pub_output.py
 +
| Y
 +
| Y
 +
| Y
 +
| Y
 +
|
 +
|
 +
|-
 +
| submission.py
 +
|
 +
|
 
|
 
|
 
|
 
|

Latest revision as of 08:10, 10 June 2023

This page tracks changes that can be made and still run under Python2.

This page tracks changes that can be made for Python3 that also run fine under Python2. The changes are:

  • Replacing tabs with 8 spaces. Almost every file attempted so far has some mix of spaces and tabs. In vi/vim this can be changed with:
   :s/<tab>/<8 spaces>/g
  • Change all print statements to use function call syntax. This can be done by 2to3 (a variant of futurize). 2to3 without arguments will make many python3 changes, but it also takes a -f argument, which allows you to attack one specific problem. To use, create a target directory (like FUTURIZE), and issuing the following command:
   2to3 awardClass.py -f print -n -w -o FUTURIZE
  • Change all instance of string.method to str.method.
  • While most SQL code is in SQLparsing.py, it is also peppered across many other files. This code will not work any longer, as Python3 requires moving to a new connector. I've created an ISFDB connector class which is portable across Python2 and Python3. Some usage patterns are:

FETCHMANY:

   def _StandardQuery(query):
       CNX = MYSQL_CONNECTOR()
       CNX.DB_QUERY(query)
       results = []
       record = CNX.DB_FETCHMANY()
       while record:
               results.append(record[0])
               record = CNX.DB_FETCHMANY()
       return results

NUMROWS:

   def _BinaryQuery(query):
       CNX = MYSQL_CONNECTOR()
       CNX.DB_QUERY(query)
       if CNX.DB_NUMROWS():
               return 1
       else:
               return 0

FETCHONE:

   def _OneRow(query):
       CNX = MYSQL_CONNECTOR()
       CNX.DB_QUERY(query)
       record = CNX.DB_FETCHONE()
       if record:
               return record[0]
       else:
               return None

DB_ESCAPE_STRING:

   def SQLgetAuthorData(author):
       CNX = MYSQL_CONNECTOR()
       query = "select %s from authors where author_canonical='%s'" % (CNX_AUTHORS_STAR, CNX.DB_ESCAPE_STRING(author))
       CNX.DB_QUERY(query)
       record = CNX.DB_FETCHONE()
       if record:
               return record[0]
       else:
               return 0

DB_INSERT_ID:

       CNX = MYSQL_CONNECTOR()
       query = "insert into titles(title_title) values('%s');" % (CNX.DB_ESCAPE_STRING(title))
       CNX.DB_QUERY(query)
       record = CNX.DB_INSERT_ID()
  • We also need to remove all of the stray import MySQLdb statements. MySQLdb is imported by SQLparsing under Python2, and causes an error on Python3.

Common

File Tabs Print String DB Connector encode FieldStorage
authorClass.py Y Y Y Y - Y
awardcatClass.py Y Y Y Y - Y
awardClass.py Y Y Y Y - Y
awardtypeClass.py Y Y Y Y - Y
install.py Y Y Y - - -
isbn.py Y Y Y Y - -
isfdblib.py - - - - - -
isfdb.py Y Y Y Y Y -
library.py Y Y Y Y Y -
localdefs.py - - - - - -
login.py Y Y Y Y - -
navbar.py Y Y Y Y - -
pubClass.py Y Y Y Y - Y
publisherClass.py Y Y Y Y - Y
pubseriesClass.py Y Y Y Y - Y
seriesClass.py Y Y Y Y - Y
sfe3.py Y Y Y Y - -
SQLparsing.py Y Y Y Y Y -
templateClass.py Y Y Y Y - Y
titleClass.py Y Y Y Y - Y
verificationsourceClass.py Y Y Y Y - Y
viewers.py Y Y Y Y Y -

Biblio

File Tabs Print String DB Connector encode FieldStorage
adv_identifier_search.py Y Y Y Y - -
adv_notes_search.py Y Y Y Y - -
advSearchClass.py Y Y Y Y - -
adv_search_menu.py Y Y Y Y - -
adv_search_results.py Y Y Y Y - Y
adv_search_selection.py Y Y Y Y - -
adv_user_search.py Y Y Y Y - -
adv_web_page_search.py Y Y Y Y - -
ae.py Y Y Y Y - -
author_history.py Y Y Y Y - -
authors_by_debut_year.py Y Y Y Y - -
authors_by_debut_year_table.py Y Y Y Y - -
authortags.py Y Y Y Y - -
award_category_history.py Y Y Y Y - -
award_category.py Y Y Y Y - -
award_category_year.py Y Y Y Y - -
award_details.py Y Y Y Y - -
award_directory.py Y Y Y Y - -
award_history.py Y Y Y Y - -
awardtype_history.py Y Y Y Y - -
awardtype.py Y Y Y Y - -
ay.py Y Y Y Y - -
biblio.py Y Y Y Y - -
calendarClass.py Y Y Y Y - -
calendar_day.py Y Y Y Y - -
calendar_menu.py Y Y Y Y - -
cancelsubmission.py Y Y Y Y - -
changed_verified_pubs.py Y Y Y Y - -
ch.py Y Y Y Y - -
common.py Y Y Y Y - -
diffselect.py Y Y Y Y - -
directory.py Y Y Y Y - -
dologin.py Y Y Y Y - -
dologout.py Y Y Y Y - -
dumpxml.py Y Y Y Y - -
ea.py Y Y Y Y - -
eaw.py Y Y Y Y - -
external_id_search_results.py Y Y Y Y - Y
fc.py Y Y Y Y - -
google_search_redirect.py Y Y Y Y -
index.py Y Y Y Y - -
languages.py Y Y Y Y - -
most_popular.py Y Y Y Y - -
most_popular_table.py Y Y Y Y - -
most_reviewed.py Y Y Y Y - -
most_reviewed_table.py Y Y Y Y - -
mylanguages.py Y Y Y Y - -
mypreferences.py Y Y Y Y - -
myrecent.py Y Y Y Y - -
my_removed_secondary_verifications.py Y Y Y Y - -
my_secondary_verifications.py Y Y Y Y - -
my_unstable_ISBN_verifications.py Y Y Y Y - -
my_unstable_verifications.py Y Y Y Y - -
myverificationsClass.py Y Y Y Y - -
my_verifications_menu.py Y Y Y Y - -
myvotes.py Y Y Y Y - -
mywebsites.py Y Y Y Y - -
note.py Y Y Y Y -
note_search_results.py Y Y Y Y -
pe.py Y Y Y Y -
pl.py Y Y Y Y
popular_authors.py Y Y Y Y -
popular_authors_table.py Y Y Y Y -
pub_history.py Y Y Y Y -
publisher_authors.py Y Y Y Y -
publisher_history.py Y Y Y Y
publisher_one_author.py Y Y Y Y -
publisher.py Y Y Y Y -
publisheryear.py Y Y Y Y -
pubseries_history.py Y Y Y Y -
pubseries.py Y Y Y Y -
pubs_not_in_series.py Y Y Y Y -
recent_activity_menu.py Y Y Y Y -
recent_primary_ver.py Y Y Y Y -
recent.py Y Y Y Y -
recentver.py Y Y Y Y -
removed_secondary_verifications.py Y Y Y Y -
se.py Y Y Y Y -
seriesgrid.py Y Y Y Y -
series_history.py Y Y Y Y -
seriestags.py Y Y Y Y -
stats-and-tops.py Y Y Y Y -
stats.py Y Y Y Y -
submitdiff.py Y Y Y Y -
submitlogin.py Y Y Y Y Y
submitmylanguages.py Y Y Y Y -
submitmywebsites.py Y Y Y Y -
submitpreferences.py Y Y Y Y -
tag_author.py Y Y Y Y -
tag.py Y Y Y Y -
titlecovers.py Y Y Y Y -
title_history.py Y Y Y Y -
title.py Y Y Y Y -
topcontrib.py Y Y Y Y -
user_search_results.py Y Y Y Y -
usertag.py Y Y Y Y -
usertitles.py Y Y Y Y -
userver.py Y Y Y Y -
utils.py Y Y Y Y -
verification_sources.py Y Y Y Y -
view_submission.py Y Y Y Y -
webpages_search_results.py Y Y Y Y -

Edit

File Tabs Print String DB Connector
addawardcat.py Y Y Y Y
addaward.py Y Y Y Y
addpub.py Y Y Y Y
addquicktag.py Y Y Y Y
add_template.py Y Y Y Y
addvariant.py Y Y Y Y
add_verification_source.py Y Y Y Y
as_merge.py Y Y Y Y
av_merge.py Y Y Y Y
cleanup_lib.py Y Y Y Y
cleanup.py Y Y Y Y
cleanup_report.py Y Y Y Y
clonecontent.py Y Y Y Y
clone_intermediate.py Y Y Y Y
clonepub.py Y Y Y Y
deleteawardcat.py Y Y Y Y
deleteaward.py Y Y Y Y
deleteawardtype.py Y Y Y Y
deletepub.py Y Y Y Y
deleteseries.py Y Y Y Y
deletetitle.py Y Y Y Y
editauth.py Y Y Y Y
editawardcat.py Y Y Y Y
editaward.py Y Y Y Y
editawardtype.py Y Y Y Y
editpublisher.py Y Y Y Y
editpub.py Y Y Y Y
editpubseries.py Y Y Y Y
editseries.py Y Y Y Y
edittags.py Y Y Y Y
edit_template.py Y Y Y Y
edittitle.py Y Y Y Y
edit_verification_source.py Y Y Y Y
empty_containers.py Y Y Y Y
exportcontent.py Y Y Y Y
find_dups.py Y Y Y Y
find_pub_dups.py Y Y Y Y
find_title_dups.py Y Y Y Y
importcontent.py Y Y Y Y
incomplete_contents.py Y Y Y Y
isfdblib.py Y Y Y Y
isfdblib_help.py Y Y Y Y
isfdblib_print.py Y Y Y Y
keygen.py Y Y Y Y
linkaward.py Y Y Y Y
linkreview.py Y Y Y Y
login.py Y Y Y Y
mkpseudo.py Y Y Y Y
mkvariant.py Y Y Y Y
newawardtype.py Y Y Y Y
new_language.py Y Y Y Y
newpub.py Y Y Y Y
numeric_external_id_ranges.py Y Y Y Y
ps_merge.py Y Y Y Y
publisher_exceptions.py Y Y Y Y
pv_merge.py Y Y Y Y
rmtitles.py Y Y Y Y
select_award_type.py Y Y Y Y
sfe3_authors.py Y Y Y Y
submitaddpub.py Y Y Y Y
submit_add_template.py Y Y Y Y
submit_add_verification_source.py Y Y Y Y
submitauth.py Y Y Y Y
submitawardcat.py Y Y Y Y
submitaward.py Y Y Y Y
submitawardtype.py Y Y Y Y
submitclone.py Y Y Y Y
submitdelaward.py Y Y Y Y
submitdeleteawardcat.py Y Y Y Y
submitdeleteawardtype.py Y Y Y Y
submitdelpub.py Y Y Y Y
submitdelseries.py Y Y Y Y
submitdeltitle.py Y Y Y Y
submit_edit_template.py Y Y Y Y
submit_edit_verification_source.py Y Y Y Y
submitlinkaward.py Y Y Y Y
submitlinkreview.py Y Y Y Y
submitmkpseudo.py Y Y Y Y
submitmkvar1.py Y Y Y Y
submitmkvar2.py Y Y Y Y
submitnewawardcat.py Y Y Y Y
submitnewaward.py Y Y Y Y
submitnewawardtype.py Y Y Y Y
submit_new_language.py Y Y Y Y
submitnewpub.py Y Y Y Y
submit_primary_verification.py Y Y Y Y
submitpublisher.py Y Y Y Y
submitpub.py Y Y Y Y
submitpubseries.py Y Y Y Y
submitrempseudo.py Y Y Y Y
submitrm.py Y Y Y Y
submit_select_award_type.py Y Y Y Y
submitseries.py Y Y Y Y
submittags.py Y Y Y Y
submittitle.py Y Y Y Y
submitvariant.py Y Y Y Y
submitver.py Y Y Y Y
submitvote.py Y Y Y Y
ts_merge.py Y Y Y Y
ts_unmerge.py Y Y Y Y
tv_merge.py Y Y Y Y
tv_unmerge.py Y Y Y Y
verify.py Y Y Y Y
vote.py Y Y Y Y

Mod

File Tabs Print String DB Connector
aa_merge.py Y Y Y Y
aa_update.py Y Y Y Y
award_cat_delete_file.py Y Y Y Y
award_cat_new_file.py Y Y Y Y
award_cat_update_file.py Y Y Y Y
award_link_file.py Y Y Y Y
award_type_delete_file.py Y Y Y Y
award_type_new_file.py Y Y Y Y
award_type_update_file.py Y Y Y Y
bad_images.py Y Y Y Y
bureaucrat.py Y Y Y Y
ca_new.py Y Y Y Y
change_tag_status.py Y Y Y Y
common.py Y Y Y Y
cpanel.py Y Y Y Y
hardreject.py Y Y Y Y
hold.py Y Y Y Y
isfdblib.py Y Y Y Y
ka_new.py Y Y Y Y
list.py Y Y Y Y
list_templates.py Y Y Y Y
list_verification_sources.py Y Y Y Y
marque.py Y Y Y Y
new_language_file.py Y Y Y Y
pa_delete.py Y Y Y Y
pa_new.py Y Y Y Y
pa_update.py Y Y Y Y
private_tags.py Y Y Y Y
ra_link.py Y Y Y Y
recent.py Y Y Y Y
reject.py Y Y Y Y
remove_secondary_verification.py Y Y Y Y
remove_tag.py Y Y Y Y
resolve_bad_url.py Y Y Y Y
resolve_cleanup.py Y Y Y Y
resolve_empty_containers.py Y Y Y Y
resolve_sfe3_url.py Y Y Y Y
sa_delete.py Y Y Y Y
sa_update.py Y Y Y Y
select_secondary_verification.py Y Y Y Y
self_approver_file.py Y Y Y Y
self_approvers.py Y Y Y Y
submission_review.py Y Y Y Y
submission_search.py Y Y Y Y
submission_search_results.py Y Y Y Y
submitcpanel.py Y Y Y Y
submitref.py Y Y Y Y
ta_delete.py Y Y Y Y
tag_breakdown.py Y Y Y Y
tag_status_changes.py Y Y Y Y
ta_merge.py Y Y Y Y
ta_remove.py Y Y Y Y
ta_unmerge.py Y Y Y Y
ta_update.py Y Y Y Y
template_add_file.py Y Y Y Y
template_update_file.py Y Y Y Y
ua_merge.py Y Y Y Y
unhold.py Y Y Y Y
unreject.py Y Y Y Y
va_new.py Y Y Y Y
verification_source_add_file.py Y Y Y Y
verification_source_file.py Y Y Y Y
wa_delete.py Y Y Y Y
wa_new.py Y Y Y Y
wa_update.py Y Y Y Y
xa_update.py Y Y Y Y
ya_new.py Y Y Y Y
ya_remove.py Y Y Y Y
za_update.py Y Y Y Y

Rest

File Tabs Print String DB Connector encode FieldStorage
getpub_by_ID.py Y Y Y Y
getpub_by_internal_ID.py
getpub.py
pub_output.py Y Y Y Y
submission.py