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

From ISFDB
Jump to navigation Jump to search
 
(7 intermediate revisions by the same user not shown)
Line 253: Line 253:
 
! String
 
! String
 
! DB Connector
 
! DB Connector
 +
! encode
 +
! FieldStorage
 
|-
 
|-
 
| adv_identifier_search.py
 
| adv_identifier_search.py
Line 259: Line 261:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| adv_notes_search.py
 
| adv_notes_search.py
Line 265: Line 269:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| advSearchClass.py
 
| advSearchClass.py
Line 271: Line 277:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| adv_search_menu.py
 
| adv_search_menu.py
Line 277: Line 285:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| adv_search_results.py
 
| adv_search_results.py
Line 282: Line 292:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
| Y
 
| Y
 
|-
 
|-
Line 289: Line 301:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| adv_user_search.py
 
| adv_user_search.py
Line 295: Line 309:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| adv_web_page_search.py
 
| adv_web_page_search.py
Line 301: Line 317:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| ae.py
 
| ae.py
Line 307: Line 325:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| author_history.py
 
| author_history.py
Line 313: Line 333:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| authors_by_debut_year.py
 
| authors_by_debut_year.py
Line 319: Line 341:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| authors_by_debut_year_table.py
 
| authors_by_debut_year_table.py
Line 325: Line 349:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| authortags.py
 
| authortags.py
Line 331: Line 357:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| award_category_history.py
 
| award_category_history.py
Line 337: Line 365:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| award_category.py
 
| award_category.py
Line 343: Line 373:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| award_category_year.py
 
| award_category_year.py
Line 349: Line 381:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| award_details.py
 
| award_details.py
Line 355: Line 389:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| award_directory.py
 
| award_directory.py
Line 361: Line 397:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| award_history.py
 
| award_history.py
Line 367: Line 405:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| awardtype_history.py
 
| awardtype_history.py
Line 373: Line 413:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| awardtype.py
 
| awardtype.py
Line 379: Line 421:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| ay.py
 
| ay.py
Line 385: Line 429:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| biblio.py
 
| biblio.py
Line 391: Line 437:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| calendarClass.py
 
| calendarClass.py
Line 397: Line 445:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| calendar_day.py
 
| calendar_day.py
Line 403: Line 453:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| calendar_menu.py
 
| calendar_menu.py
Line 409: Line 461:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| cancelsubmission.py
 
| cancelsubmission.py
Line 415: Line 469:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| changed_verified_pubs.py
 
| changed_verified_pubs.py
Line 421: Line 477:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| ch.py
 
| ch.py
Line 427: Line 485:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| common.py
 
| common.py
Line 433: Line 493:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| diffselect.py
 
| diffselect.py
Line 439: Line 501:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| directory.py
 
| directory.py
Line 445: Line 509:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| dologin.py
 
| dologin.py
Line 451: Line 517:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| dologout.py
 
| dologout.py
Line 457: Line 525:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| dumpxml.py
 
| dumpxml.py
Line 463: Line 533:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| ea.py
 
| ea.py
Line 469: Line 541:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| eaw.py
 
| eaw.py
Line 475: Line 549:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| external_id_search_results.py
 
| external_id_search_results.py
Line 480: Line 556:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
| -
 
| Y
 
| Y
 
|-
 
|-
Line 487: Line 565:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| google_search_redirect.py
 
| google_search_redirect.py
Line 493: Line 573:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| index.py
 
| index.py
Line 499: Line 581:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| languages.py
 
| languages.py
Line 505: Line 589:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| most_popular.py
 
| most_popular.py
Line 511: Line 597:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| most_popular_table.py
 
| most_popular_table.py
Line 517: Line 605:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| most_reviewed.py
 
| most_reviewed.py
Line 523: Line 613:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| most_reviewed_table.py
 
| most_reviewed_table.py
Line 529: Line 621:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| mylanguages.py
 
| mylanguages.py
Line 535: Line 629:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| mypreferences.py
 
| mypreferences.py
Line 541: Line 637:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| myrecent.py
 
| myrecent.py
Line 547: Line 645:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| my_removed_secondary_verifications.py
 
| my_removed_secondary_verifications.py
Line 553: Line 653:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| my_secondary_verifications.py
 
| my_secondary_verifications.py
Line 559: Line 661:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| my_unstable_ISBN_verifications.py
 
| my_unstable_ISBN_verifications.py
Line 565: Line 669:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| my_unstable_verifications.py
 
| my_unstable_verifications.py
Line 571: Line 677:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| myverificationsClass.py
 
| myverificationsClass.py
Line 577: Line 685:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| my_verifications_menu.py
 
| my_verifications_menu.py
Line 583: Line 693:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| myvotes.py
 
| myvotes.py
Line 589: Line 701:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| mywebsites.py
 
| mywebsites.py
Line 595: Line 709:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
| -
 
|-
 
|-
 
| note.py
 
| note.py
Line 601: Line 717:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| note_search_results.py
 
| note_search_results.py
Line 607: Line 725:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| pe.py
 
| pe.py
Line 613: Line 733:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| pl.py
 
| pl.py
Line 619: Line 741:
 
| Y
 
| Y
 
| Y
 
| Y
 +
|
 +
|
 
|-
 
|-
 
| popular_authors.py
 
| popular_authors.py
Line 625: Line 749:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| popular_authors_table.py
 
| popular_authors_table.py
Line 631: Line 757:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| pub_history.py
 
| pub_history.py
Line 637: Line 765:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| publisher_authors.py
 
| publisher_authors.py
Line 643: Line 773:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| publisher_history.py
 
| publisher_history.py
Line 649: Line 781:
 
| Y
 
| Y
 
| Y
 
| Y
 +
|
 +
|
 
|-
 
|-
 
| publisher_one_author.py
 
| publisher_one_author.py
Line 655: Line 789:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| publisher.py
 
| publisher.py
Line 661: Line 797:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| publisheryear.py
 
| publisheryear.py
Line 667: Line 805:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| pubseries_history.py
 
| pubseries_history.py
Line 673: Line 813:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| pubseries.py
 
| pubseries.py
Line 679: Line 821:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| pubs_not_in_series.py
 
| pubs_not_in_series.py
Line 685: Line 829:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| recent_activity_menu.py
 
| recent_activity_menu.py
Line 691: Line 837:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| recent_primary_ver.py
 
| recent_primary_ver.py
Line 697: Line 845:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| recent.py
 
| recent.py
Line 703: Line 853:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| recentver.py
 
| recentver.py
Line 709: Line 861:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| removed_secondary_verifications.py
 
| removed_secondary_verifications.py
Line 715: Line 869:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| se.py
 
| se.py
Line 721: Line 877:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| seriesgrid.py
 
| seriesgrid.py
Line 727: Line 885:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| series_history.py
 
| series_history.py
Line 733: Line 893:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| seriestags.py
 
| seriestags.py
Line 739: Line 901:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| stats-and-tops.py
 
| stats-and-tops.py
Line 745: Line 909:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| stats.py
 
| stats.py
Line 751: Line 917:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| submitdiff.py
 
| submitdiff.py
Line 757: Line 925:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| submitlogin.py
 
| submitlogin.py
Line 763: Line 933:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| Y
 +
|
 
|-
 
|-
 
| submitmylanguages.py
 
| submitmylanguages.py
Line 769: Line 941:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| submitmywebsites.py
 
| submitmywebsites.py
Line 775: Line 949:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| submitpreferences.py
 
| submitpreferences.py
Line 781: Line 957:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| tag_author.py
 
| tag_author.py
Line 787: Line 965:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| tag.py
 
| tag.py
Line 793: Line 973:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| titlecovers.py
 
| titlecovers.py
Line 799: Line 981:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| title_history.py
 
| title_history.py
Line 805: Line 989:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| title.py
 
| title.py
Line 811: Line 997:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| topcontrib.py
 
| topcontrib.py
Line 817: Line 1,005:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| user_search_results.py
 
| user_search_results.py
Line 823: Line 1,013:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| usertag.py
 
| usertag.py
Line 829: Line 1,021:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| usertitles.py
 
| usertitles.py
Line 835: Line 1,029:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| userver.py
 
| userver.py
Line 841: Line 1,037:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| utils.py
 
| utils.py
Line 847: Line 1,045:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| verification_sources.py
 
| verification_sources.py
Line 853: Line 1,053:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| view_submission.py
 
| view_submission.py
Line 859: Line 1,061:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
| webpages_search_results.py
 
| webpages_search_results.py
Line 865: Line 1,069:
 
| Y
 
| Y
 
| Y
 
| Y
 +
| -
 +
|
 
|-
 
|-
 
|}
 
|}
Line 1,907: Line 2,113:
 
|-
 
|-
 
| ya_new.py
 
| ya_new.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
| ya_remove.py
 
| ya_remove.py
Line 1,919: Line 2,125:
 
|-
 
|-
 
| za_update.py
 
| za_update.py
|
+
| Y
|
+
| Y
|
+
| Y
|
+
| Y
 
|-
 
|-
 
|}
 
|}
Line 1,933: Line 2,139:
 
! String
 
! String
 
! DB Connector
 
! DB Connector
 +
! encode
 +
! FieldStorage
 
|-
 
|-
| xxx
+
| getpub_by_ID.py
 +
| Y
 +
| Y
 +
| Y
 +
| Y
 +
|
 +
|
 +
|-
 +
| 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