Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #6307 (closed)

Opened 13 years ago

Closed 13 years ago

Bug: temp_files.py fails on getpass

Reported by: wmoore Owned by: jamoore
Priority: major Milestone: OMERO-Beta4.3.2
Component: Scripting Version: n.a.
Keywords: n.a. Cc:
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: 0.0d
Sprint: n.a.

Description (last modified by jmoore)

From http://qa.openmicroscopy.org.uk/qa/feedback/3891

Seems we need to update temp_files.py to handle the exception.

Caused by: omero.ValidationException
    serverStackTrace = ""
    serverExceptionClass = ""
    message = "Can't find params for 12603. Stderr is in file 12731
               
               ---stderr---
               Traceback (most recent call last):
                 File "./script", line 56, in 
                   import omero.scripts as scripts
                 File "/Users/omero/Desktop/omero_dist/lib/python/omero/scripts.py", line 29, in 
                   import omero.util.temp_files
                 File "/Users/omero/Desktop/omero_dist/lib/python/omero/util/temp_files.py", line 327, in 
                   manager = TempFileManager()
                 File "/Users/omero/Desktop/omero_dist/lib/python/omero/util/temp_files.py", line 53, in __init__
                   self.userdir = self.tmpdir() / ("%s_%s" % (self.prefix, self.username()))
                 File "/Users/omero/Desktop/omero_dist/lib/python/omero/util/temp_files.py", line 209, in username
                   return getpass.getuser() # Uses environment variable or pwd
                 File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/getpass.py", line 158, in getuser
                   return pwd.getpwuid(os.getuid())[0]
               KeyError: 'getpwuid(): uid not found: 507'
               "

See:

Fallbacks (currently unordered):

  • os.getlogin
  • os.environ[USER] or [USERNAME]
  • "UNKNOWN"
  • os.system("whoami")

Change History (4)

comment:1 Changed 13 years ago by jmoore

  • Description modified (diff)
  • Summary changed from Bug: temp_files.py to Bug: temp_files.py fails on getpass

Other locations using getpass:

~/git $ git grep getpass components/tools/
components/tools/OmeroPy/src/omero/cli.py:        uses getpass
components/tools/OmeroPy/src/omero/cli.py:                    import getpass
components/tools/OmeroPy/src/omero/cli.py:                    defuser = getpass.getuser()
components/tools/OmeroPy/src/omero/cli.py:                    rv = getpass.getpass(prompt)
components/tools/OmeroPy/src/omero/plugins/sessions.py:import getpass
components/tools/OmeroPy/src/omero/plugins/sessions.py:            defuser = getpass.getuser()
components/tools/OmeroPy/src/omero/util/cleanse.py:import getpass
components/tools/OmeroPy/src/omero/util/cleanse.py:    username = getpass.getuser()
components/tools/OmeroPy/src/omero/util/cleanse.py:            password = getpass.getpass()
components/tools/OmeroPy/src/omero/util/populate_metadata.py:from getpass import getpass
components/tools/OmeroPy/src/omero/util/populate_metadata.py:        password = getpass()
components/tools/OmeroPy/src/omero/util/populate_roi.py:from getpass import getpass
components/tools/OmeroPy/src/omero/util/populate_roi.py:        password = getpass()
components/tools/OmeroPy/src/omero/util/sessions.py:import getpass, pickle
components/tools/OmeroPy/src/omero/util/temp_files.py:import getpass
components/tools/OmeroPy/src/omero/util/temp_files.py:            return getpass.getuser() # Uses environment variable or pwd
components/tools/OmeroPy/test/clitest/sess.py:import unittest, os, subprocess, StringIO, getpass, exceptions
components/tools/OmeroPy/test/clitest/sess.py:        self.REQRESP["Username: [%s]" % getpass.getuser()] = user

comment:2 Changed 13 years ago by jmoore

  • Description modified (diff)

comment:3 Changed 13 years ago by jmoore

Plan is to add a omero.util.get_user(default) function which we'll use everywhere that previously we used getpass.getuser. This should also handle the Windows case. Consumers who cannot handle a null username should check the return value for is None or pass an acceptable default.

comment:4 Changed 13 years ago by jmoore <josh@…>

  • Remaining Time set to 0
  • Resolution set to fixed
  • Status changed from new to closed

(In [28267e8f8fdca40f8343cbbc46ab5e307cba33c5/ome.git] on branch develop) Replacing getuser.getpass with omero.util.get_user (Fix #6307)

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.67321 sec.)

We're Hiring!