# HG changeset patch # User Marco Fabiani # Date 1337354404 -3600 # Node ID cc6c7235d08a1cdb9e0e0f6cab46380564411475 # Parent ed98a232e4a50cc408733018822531acbdcfe4cc v0.5: changed "save_zip" to False, unless --zip arg is used diff -r ed98a232e4a5 -r cc6c7235d08a sworduploader.py --- a/sworduploader.py Wed Apr 18 11:03:57 2012 +0100 +++ b/sworduploader.py Fri May 18 16:20:04 2012 +0100 @@ -2,7 +2,7 @@ """ -SWORD2 DSpace bulk uploader - v0.4 +SWORD2 DSpace bulk uploader - v0.5 A python script to submit large numbers of files to a SWORD2-compatible repository, specifically DSpace 1.8x. Built on the SWORD2 python client library: https://bitbucket.org/beno/python-sword2/overview with modifications. @@ -53,20 +53,23 @@ parser.add_argument("--title", dest="title", type=str,nargs=1, help="Title (ignored for METS packages).") parser.add_argument("--author", dest="author", type=str,nargs="+", help="Author(s) (ignored for METS packages). Accepts multiple entries in the format \"Surname, Name\"") parser.add_argument("--date", dest="date", type=str,nargs=1, help="Date of creation (string) (ignored for METS packages).") -parser.add_argument("--servicedoc", dest="dspaceurl", type=str,nargs=1, help="Url of the SWORDv2 service document (default: http://c4dm.eecs.qmul.ac.uk/smdmrd-test/swordv2/servicedocument") +parser.add_argument("--servicedoc", dest="sd", type=str,nargs=1, help="Url of the SWORDv2 service document (default: http://c4dm.eecs.qmul.ac.uk/smdmrd-test/swordv2/servicedocument") args = parser.parse_args() data = args.data[0] -storezip = True +if args.zip: + storezip = True +else: + storezip = False -if args.dspaceurl == None: - dspaceurl = "http://c4dm.eecs.qmul.ac.uk/smdmrd-test/swordv2/servicedocument" +if args.sd == None: + sd = "http://c4dm.eecs.qmul.ac.uk/smdmrd-test/swordv2/servicedocument" else: - dspaceurl = args.dspaceurl[0] + sd = args.sd[0] try: - # Connect to SWORD server + # Connect to SWORD server: it will always try to authenticate (no anonymous submissions! attempts = 3 # Number of attempts left to connect to server connected = False while attempts>0 and not connected: @@ -74,13 +77,13 @@ # Try to login, get service document # Get username and password if args.user_name == None: - user_name = raw_input("DSpace Username: ") + user_name = raw_input("Username: ") else: user_name = args.user_name[0] - print "DSpace Username: ",user_name - user_pass = getpass.getpass("DSpace password:") + print "Username: ",user_name + user_pass = getpass.getpass("Password:") # Connect to the server - c = Connection(dspaceurl, user_name=user_name, user_pass=user_pass,keep_history=False) + c = Connection(sd, user_name=user_name, user_pass=user_pass,keep_history=False) # Get service document try: