Index: client/1.0/neutral/pkgr_upload.eagle ================================================================== --- client/1.0/neutral/pkgr_upload.eagle +++ client/1.0/neutral/pkgr_upload.eagle @@ -29,12 +29,12 @@ proc usage { {error ""} } { if {[string length $error] > 0} then {puts stdout $error} puts stdout "usage:\ [file tail [info nameofexecutable]]\ - [file tail [info script]] \[apiKey\] \[name\] \[version\] \[language\]\ - \[fileName1\] ... \[fileNameN\]" + [file tail [info script]] \[apiKey\] \[package\] \[patchLevel\]\ + \[language\] \[version\] \[platform\] \[fileName1\] ... \[fileNameN\]" exit 1 } # @@ -769,10 +769,270 @@ } return true } + # + # NOTE: This procedure initializes the array containing data derived from + # the command line arguments, if any. The argv argument should be + # the list of command line arguments. + # + proc setupArgumentData { argv } { + variable argumentData + + if {![info exists argumentData(apiKey)]} then { + set argumentData(apiKey) "" + } + + if {![info exists argumentData(package)]} then { + set argumentData(package) "" + } + + if {![info exists argumentData(patchLevel)]} then { + set argumentData(patchLevel) "" + } + + if {![info exists argumentData(language)]} then { + set argumentData(language) "" + } + + if {![info exists argumentData(version)]} then { + set argumentData(version) "" + } + + if {![info exists argumentData(platform)]} then { + set argumentData(platform) "" + } + + if {![info exists argumentData(fileNames)]} then { + set argumentData(fileNames) [list] + } + + if {[llength $argv] >= 1} then { + set argumentData(apiKey) [lindex $argv 0] + } + + if {[llength $argv] >= 2} then { + set argumentData(package) [lindex $argv 1] + } + + if {[llength $argv] >= 3} then { + set argumentData(patchLevel) [lindex $argv 2] + } + + if {[llength $argv] >= 4} then { + set argumentData(language) [lindex $argv 3] + } + + if {[llength $argv] >= 5} then { + set argumentData(version) [lindex $argv 4] + } + + if {[llength $argv] >= 6} then { + set argumentData(platform) [lindex $argv 5] + } + + if {[llength $argv] >= 7} then { + set argumentData(fileNames) [lrange $argv 6 end] + } + } + + # + # NOTE: This procedure is used to determine if all the package submission + # data is available. There are no arguments. Non-zero is returned + # if all the package submission data is available. This procedure + # should not raise script errors. + # + proc haveArgumentData {} { + variable argumentData + + if {![info exists argumentData(apiKey)]} then { + return false + } + + if {[string length $argumentData(apiKey)] == 0} then { + return false + } + + if {![info exists argumentData(package)]} then { + return false + } + + if {[string length $argumentData(package)] == 0} then { + return false + } + + if {![info exists argumentData(patchLevel)]} then { + return false + } + + if {[string length $argumentData(patchLevel)] == 0} then { + return false + } + + if {![info exists argumentData(language)]} then { + return false + } + + if {[string length $argumentData(language)] == 0} then { + return false + } + + if {![info exists argumentData(version)]} then { + return false + } + + if {[string length $argumentData(version)] == 0} then { + return false + } + + if {![info exists argumentData(platform)]} then { + return false + } + + if {[string length $argumentData(platform)] == 0} then { + return false + } + + if {![info exists argumentData(fileNames)]} then { + return false + } + + if {[llength $argumentData(fileNames)] == 0} then { + return false + } + + return true + } + + # + # NOTE: This procedure is the command handler for the submit button. It is + # used to start the package submission process. The args argument is + # not used, it is a placeholder to make this procedure a more portable + # between Tcl and Eagle. This procedure may raise script errors. + # + proc submitEventHandler { args } { + variable argumentData + + puts stdout "SUBMIT CLICKED" + } + + # + # NOTE: This procedure is the command handler for the clear button. It is + # used to clear the package submission data. The args argument is + # not used, it is a placeholder to make this procedure a more portable + # between Tcl and Eagle. This procedure may raise script errors. + # + proc clearEventHandler { args } { + variable argumentData + + puts stdout "CLEAR CLICKED" + + set argumentData(apiKey) "" + set argumentData(package) "" + set argumentData(patchLevel) "" + set argumentData(language) "" + set argumentData(version) "" + set argumentData(platform) "" + set argumentData(fileNames) [list] + } + + # + # NOTE: This procedure creates the user interface for this tool using + # Eagle and WinForms. Existing argument data, if any, will be + # used to populate it. There are no arguments. + # + proc setupWinFormsUserInterface {} { + variable argumentData + variable widgets + + object load System.Windows.Forms + + # + # TODO: Finish this. + # + } + + # + # NOTE: This procedure creates the user interface for this tool using Tcl + # and Tk. Existing argument data, if any, will be used to populate + # it. There are no arguments. + # + proc setupTkUserInterface {} { + variable widgets + + package require Tk + + catch {wm withdraw .}; set toplevel [toplevel .uploader] + + set widgets(label,apiKey) [label [appendArgs \ + $toplevel .l_apiKey] -text "API Key"] + + set widgets(entry,apiKey) [entry [appendArgs \ + $toplevel .e_apiKey] -textvariable [appendArgs \ + [namespace current] ::argumentData(apiKey)]] + + set widgets(label,package) [label [appendArgs \ + $toplevel .l_package] -text "Package Name"] + + set widgets(entry,package) [entry [appendArgs \ + $toplevel .e_package] -textvariable [appendArgs \ + [namespace current] ::argumentData(package)]] + + set widgets(label,patchLevel) [label [appendArgs \ + $toplevel .l_patchLevel] -text "Package Patch Level"] + + set widgets(entry,patchLevel) [entry [appendArgs \ + $toplevel .e_patchLevel] -textvariable [appendArgs \ + [namespace current] ::argumentData(patchLevel)]] + + set widgets(label,language) [label [appendArgs \ + $toplevel .l_language] -text Language] + + set widgets(entry,language) [entry [appendArgs \ + $toplevel .e_language] -textvariable [appendArgs \ + [namespace current] ::argumentData(language)]] + + set widgets(label,version) [label [appendArgs \ + $toplevel .l_version] -text Version] + + set widgets(entry,version) [entry [appendArgs \ + $toplevel .e_version] -textvariable [appendArgs \ + [namespace current] ::argumentData(version)]] + + set widgets(label,platform) [label [appendArgs \ + $toplevel .l_platform] -text Platform] + + set widgets(entry,platform) [entry [appendArgs \ + $toplevel .e_platform] -textvariable [appendArgs \ + [namespace current] ::argumentData(platform)]] + + set widgets(label,fileNames) [label [appendArgs \ + $toplevel .l_fileNames] -text Files] + + set widgets(listbox,fileNames) [listbox [appendArgs \ + $toplevel .li_fileNames] -listvariable [appendArgs \ + [namespace current] ::argumentData(fileNames)]] + + set widgets(button,submit) [button \ + [appendArgs $toplevel .b_submit] -text Submit -command \ + [namespace code [list submitEventHandler]]] + + set widgets(button,clear) [button \ + [appendArgs $toplevel .b_clear] -text Clear -command \ + [namespace code [list clearEventHandler]]] + + pack $widgets(label,apiKey) $widgets(entry,apiKey) \ + $widgets(label,package) $widgets(entry,package) \ + $widgets(label,patchLevel) $widgets(entry,patchLevel) \ + $widgets(label,language) $widgets(entry,language) \ + $widgets(label,version) $widgets(entry,version) \ + $widgets(label,platform) $widgets(entry,platform) \ + $widgets(label,fileNames) $widgets(listbox,fileNames) \ + $widgets(button,submit) $widgets(button,clear) + } + # # NOTE: Figure out the fully qualified path to the current script file. # If necessary, add it to the auto-path for the interpreter. The # necessary supporting packages (i.e. the Package Repository and # other support packages) that are assumed to exist in the same @@ -832,18 +1092,24 @@ # NOTE: Provide the package to the interpreter. # package provide Eagle.Package.Uploader \ [expr {[isEagle] ? [info engine PatchLevel] : "1.0"}] + # + # NOTE: Process the command line arguments into their corresponding data + # values, which are contained in an array. + # + setupArgumentData [expr {[info exists ::argv] ? $::argv : [list]}] + # # NOTE: Verify that the number of command line arguments meets the basic # requirements of this tool. # - if {[info exists ::argv] && [llength $::argv] >= 5} then { + if {[haveArgumentData]} then { # - # NOTE: All the necessary arguments were supplied on the command line, - # use batch mode. + # NOTE: All necessary arguments were supplied on the command line, use + # batch mode. # } else { # # NOTE: One or more of the necessary arguments were not supplied on the # command line, use interactive mode. This will create a graphical @@ -850,12 +1116,14 @@ # user interface, using Tk or WinForms. If any of the necessary # arguments were supplied on the command line, they will be used to # populate those fields on the graphical user interface. # if {[isEagle]} then { - + setupWinFormsUserInterface } else { - + setupTkUserInterface } + + vwait forever } } Index: client/1.0/neutral/pkgr_upload.eagle.asc ================================================================== --- client/1.0/neutral/pkgr_upload.eagle.asc +++ client/1.0/neutral/pkgr_upload.eagle.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJYWDV4AAoJEFAslq9JXcLZx0sP/2VJD7twzdSyISvuml28aljh -qDLWnZQR/VnXdAKPCM2e8Ti2fsR9tFSbQsfjUNPTIbhJ45ZMdHPqPomNKzjyGttw -r0YONmmPl6WTgNg5Qu0GxiuoEnqA2Erx2ejawKlJYkj4bKyVBwA+i4uY0Bxf/3LP -MuuJijPs8l4QWVdjm78iUgskdEyulItpGZhI7f4me6N1AF3vnbzjKrGVVOaO7HXQ -zAiTcssKtu8zjl6XnBswkYSgFkTcf1D/kdsJOf9PsCs4G/6MF8J+rSWZCwzPtgtl -aYSfncDE8VpWMJ8ECbH96eNWUoVrlxX9hEI3UTFIdzKPemD8E/LdPcYc/y2Z1Wtp -wWQGGp2yzBzobPFYbKYsSh7H4Jm35kMyU7YnS0LxX3dyvr0PXix3MuQC9vK4zHyt -990O7spn2cirFwduQCB5eWPMyo2ovzvOZB+UNoe2xii5Jm+aC/9cb7rVBZLnYPXm -gVzDHq6otUmJVEhIAoimtAGFYDt7h+97amYCtKhw1ohq4JyauhipafbczxjLBd7C -/Ck/C5UTBHvdHTFU+OcuxIQW3N7S7L0tnLcNUEA5+BNaKyYoOoVygUmCQrOsvvO6 -sV4end3L9s19uT1NYimJvIElJDNt41FzPddVkzV8M/RxRa7akSfvLizvuNKU+uiv -Bb78GwdFAEi4oS9aMquh -=nMo9 +iQIcBAABCAAGBQJYWEkqAAoJEFAslq9JXcLZdYUP/jnr2z23xRXVlN3hNU/fy6Mw +5vsmuracSs2S7KdSCgMl0qRQWuh8i8VhNI/cp9xdfKbZowqV/R7RBSyT/gffXnRz +GAAbvgHH33hpd/IM7qzr5YF2a/skumy3FDNdjvbXsItii6tNNqiCgprSKCuty2a7 +rRsxhGPO69jDduyHBGTuCHbKwIrSR4XLIR8U4iKcNTxuhndjuoijRuci+h8Mlr3b +SHpvpBrvLj+WMflzvd8iwj95kp4R8/C2yteYjMM9bPvH+fXlBSFXpjVkOrF/HLhD +ScrZWyaMN/zLYv3scxKYDJ9/t4ZHV43E23ShRdQ0Fmzu5wdvY/fe4But3M09SYkP +K/MVR4cCDF/wEeuZmk1Z1Kb+ZyaDhcTP835eBNzFwmU5sgaTPCGeClcxidzCqsqC +cgj8xrj+RzMw3aoSqI1P2PrryYqoWRmWN3t2ERjHAPrfe0/MsFWCFeUZHxiSfQZM +j606AXxhPhBQ7OuBe8vorQy1tPFkntsbQM4UalGS/Q0MVNsD7hb4+aWMOdw3BqrK ++hzyNal8i5hRdt8tE70cXSpR0E71gLVCZMjWnKIKG2lQyukLsIP02KWNk3UxM+eM +P/dWGeIBz1bsVBghsrvvMCIx/DG9SQRJcjHNQr3b//KCJmJtOMI+46wH8Y/G/2b/ +xTFksgyC/vvYgJX3s3BO +=dXzZ -----END PGP SIGNATURE----- Index: client/1.0/neutral/pkgr_upload.eagle.harpy ================================================================== --- client/1.0/neutral/pkgr_upload.eagle.harpy +++ client/1.0/neutral/pkgr_upload.eagle.harpy @@ -19,50 +19,50 @@ None Mistachkin Systems - 1b0bb058-0800-49e8-a350-0cd0cc85acea + 95474505-5cf4-4572-b593-a1cdfd6f50e0 SHA512 Script - 2016-12-19T19:30:37.5976562Z + 2016-12-19T20:54:43.5341796Z -1.00:00:00 0x9559f6017247e3e2 - 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 Index: client/1.0/neutral/pkgr_upload.eagle.harpy.asc ================================================================== --- client/1.0/neutral/pkgr_upload.eagle.harpy.asc +++ client/1.0/neutral/pkgr_upload.eagle.harpy.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJYWDV7AAoJEFAslq9JXcLZ+nIQAKxcPMgIlup2ljXotePBns52 -qpRbnX7yUVAtgbhKCDsJytKoAzSJW7E2GCAEdSho27I5gmr5MI7LurEI1azMvQLH -lR/+J+M8X4A8AA0XJDHykl5cQnhiJ3znWAEK46Ng2CBUuICmV156ty6P2Vo2XwWw -czZBGLciPtKFbNOrq+M08v/ox6v/UKUxXUQ52Q2qT9OXc6ELh1/PN+/+CgJdDhKr -rSUwCHsBSw1oGBgbthPC6c6r/28tBziR7IAPUjgNYII3O7/yBwkZtrZvFx00YLzx -Bs8GB1Ih/8nPLMKkmLT5uTBOQebPd00GQJIGWrheEJuWCpagXJk+mKufnD2/dMI4 -vPiG7xOIOh6yEPuFv/HXYKpD9rxanW8T6X04EPMvT6zn7SRjQQcRr+FnBT9P8tou -c5GqqXmKo1v4Z2VcB0kgm9Uw3M3jnpmQqNDZZlHuh6KFPRJW6FBvhQsb3wYyta1a -0pN9UUvn75A+KP4O6eX8+eIJdeeahUOIY1lv5dLZiRl5ihgXzG+PNrzQ7kDtkvvG -74B3c5h83mBuVwhv/NH+JGqgSjdbZay2UCQcbfjh9okDRuCAngqWBLNAezhNiWax -q0kQbxby8nCrwuDyKxknvbdv67LQCEMT9HH6Qttszx8ErcAj8UR8I/d9yz/ddgR4 -wPr72wfutMQ0zkeNU301 -=vnk0 +iQIcBAABCAAGBQJYWEkrAAoJEFAslq9JXcLZZ5wQAKoI23Hcm50cNiH0J8KY0Ggr +jADQPnG/Uo4x/1Y+ZX0rmSSuguphn513YxiVomKRbfwwUP3hdkwSQFt3tJtbz8Gw +Fpf6af1x/dKDFxDoN4ZGeB0tSeijcCSvFoOAz8bPhAxM6yyTehZ34/u4Lzw5QgKH +a5Hovs8vH8ZNlFZwai2oU34WDSwDnR+h3wMm2cws/OH/ltZUG7NaaA4QbnCcFd1/ +6AU1adeGpI0wyRmXH7TcR/0huU2wwjw7JvCU7LF4bS/sUACjKqsR23MpgRI9qwK1 +bbBBgvFVujFhHGpwHMQs8xJ7PGFTRyqhpfAAwVBRmZzF8jyJ+lnUHKiUlhkHjbaC +at6OOjOc91q7+pRvKVR6ClNgMOAwDRJFz/dXSQDFofN+DxHJzfZNYVG6rJT6+ThV +Non1nCOB6fESTbv31xbZexlfBmcVpzVC62HfNIP4gvZm9A7qgZMFAYaqkHQYHKNe +1aLR87EzTH7RhWuPVrv4+aCzVj5shy/PJydJtbTHVA9/RJ8SXc+d2A2QEi3KOUOe +LJOs6rfh8f4vRIjJG1Hsi1hc2uaSwqVd5hlWo00LpRXrwq7tDvBKntRQEyCyymot +UI2Cdhuy3/9Xgh7G3x5QbsOqmnNK1239s9tAasYxNLi+3eKgyD1IaYTfmWP/U40y +AAjR3fhJf/gjc29XL6Vm +=KYLK -----END PGP SIGNATURE-----