Changeset 7634

Show
Ignore:
Timestamp:
07/29/10 15:36:42 (6 weeks ago)
Author:
atarkowska
Message:

merging r7632 and r7633

Location:
branches/Beta4.2/components/tools
Files:
1 removed
7 modified

Legend:

Unmodified
Added
Removed
  • branches/Beta4.2/components/tools/OmeroPy/src/omero/gateway/__init__.py

    r7562 r7634  
    939939             
    940940        self._ctx = self._proxies['admin'].getEventContext() 
    941         self._userid = self._ctx.userId 
    942         self._user = self.getExperimenter(self._userid) 
     941        if self._ctx is not None: 
     942            self._userid = self._ctx.userId 
     943            # "guest" user has no access that method. 
     944            self._user = self._ctx.userName!="guest" and self.getExperimenter(self._userid) or None 
     945        else: 
     946            self._userid = None 
     947            self._user = None 
     948         
    943949        if self._session_cb: #pragma: no cover 
    944950            if self._was_join: 
  • branches/Beta4.2/components/tools/OmeroPy/src/omero/plugins/web.py

    r7567 r7634  
    4444 
    4545        start = parser.add(sub, self.start, "Primary start for webserver") 
    46         start.add_argument("host", nargs="*") 
    47         start.add_argument("port", nargs="*") 
     46        start.add_argument("host", nargs="?") 
     47        start.add_argument("port", nargs="?") 
    4848 
    4949        server = parser.add(sub, self.server, "Advanced use: Set to 'default' for django internal webserver or 'fastcfgi'") 
  • branches/Beta4.2/components/tools/OmeroWeb/omeroweb/extlib/gateway.py

    r7590 r7634  
    7575    def connect (self, *args, **kwargs): 
    7676        rv = super(OmeroWebGateway, self).connect(*args,**kwargs) 
    77         try: 
     77        if self._ctx.userName!="guest": 
    7878            self.removeGroupFromContext() 
    79         except omero.SecurityViolation: 
    80             pass 
    8179        return rv 
    8280 
     
    261259        rep_serv = self.getRepositoryInfoService() 
    262260        return rep_serv.getFreeSpaceInKilobytes() * 1024 
     261     
     262    def getUsage(self): 
     263        """ Returns list of users and how much space each of them use.""" 
     264        
     265        query_serv = self.getQueryService() 
     266        usage = dict() 
     267        if self.getUser().isAdmin(): 
     268            admin_serv = self.getAdminService() 
     269            groups = admin_serv.lookupGroups() 
     270            for group in groups: 
     271                for gem in group.copyGroupExperimenterMap(): 
     272                    exp = gem.child 
     273                    res = query_serv.projection(""" 
     274                    select o.id, sum(p.sizeX * p.sizeY * p.sizeZ), p.pixelsType.value  
     275                    from Pixels p join p.details.owner o  
     276                    group by o.id, p.pixelsType.value 
     277                    """, None, {"omero.group":str(group.id.val)}) 
     278                    rv = unwrap(res) 
     279                    for r in rv: 
     280                        if usage.has_key(r[0]): 
     281                            usage[r[0]] += r[1]*self.bytesPerPixel(r[2]) 
     282                        else: 
     283                            usage[r[0]] = r[1]*self.bytesPerPixel(r[2]) 
     284        else: 
     285            groups = self.getEventContext().memberOfGroups 
     286            groups.extend(self.getEventContext().leaderOfGroups) 
     287            groups = set(groups) 
     288            for gid in groups: 
     289                res = query_serv.projection(""" 
     290                select o.id, sum(p.sizeX * p.sizeY * p.sizeZ), p.pixelsType.value  
     291                from Pixels p join p.details.owner o  
     292                group by o.id, p.pixelsType.value 
     293                """, None, {"omero.group":str(gid)}) 
     294                rv = unwrap(res) 
     295                for r in rv: 
     296                    if usage.has_key(gid): 
     297                        usage[gid] += r[1]*self.bytesPerPixel(r[2]) 
     298                    else: 
     299                        usage[gid] = r[1]*self.bytesPerPixel(r[2]) 
     300        return usage 
    263301     
    264302    def getUsage(self): 
     
    13751413            else: 
    13761414                ann = meta.loadAnnotations("Experimenter", [long(oid)], None, None, None).get(long(oid), []) 
    1377             if ann is not None: 
     1415            if len(ann) > 0: 
    13781416                ann = ann[0] 
    13791417                store = self.createRawFileStore() 
  • branches/Beta4.2/components/tools/OmeroWeb/omeroweb/settings.py

    r7547 r7634  
    3232import omero 
    3333import omero.clients 
    34  
     34import tempfile  
    3535 
    3636# CUSTOM CONFIG 
     
    175175IGNORABLE_404_ENDS = ('*.ico') 
    176176 
     177# Other option: "django.contrib.sessions.backends.cache_db"; "django.contrib.sessions.backends.cache"; "django.contrib.sessions.backends.file" 
     178SESSION_ENGINE = "django.contrib.sessions.backends.file"  
     179SESSION_FILE_PATH = tempfile.gettempdir() 
     180 
    177181# Cache 
    178 CACHE_BACKEND = 'file:///var/tmp/django_cache' 
    179 CACHE_TIMEOUT = 86400 
    180  
    181 SESSION_ENGINE = "django.contrib.sessions.backends.cache" # Other option: "django.contrib.sessions.backends.cache_db"; "django.contrib.sessions.backends.cache"; "django.contrib.sessions.backends.file" 
    182 #SESSION_FILE_PATH = tempfile.gettempdir() 
     182#CACHE_BACKEND = 'file:///var/tmp/django_cache' 
     183#CACHE_TIMEOUT = 86400 
    183184 
    184185# Cookies config 
  • branches/Beta4.2/components/tools/OmeroWeb/omeroweb/webadmin/views.py

    r7590 r7634  
    8282def getGuestConnection(host, port): 
    8383    conn = None 
    84     guest = ["guest", "guest"] 
     84    guest = "guest" 
    8585    try: 
    8686        # do not store connection on connectors 
    87         conn = _createConnection('', host=host, port=port, username=guest[0], passwd=guest[1], secure=True) 
     87        conn = _createConnection('', host=host, port=port, username=guest, passwd=guest, secure=True) 
    8888        if conn is not None: 
    8989            logger.info("Have connection as Guest") 
  • branches/Beta4.2/components/tools/OmeroWeb/omeroweb/webclient/urls.py

    r7316 r7634  
    107107    url( r'^spellchecker/$', views.spellchecker, name="spellchecker"),  
    108108     
     109     
     110    url( r'^applet/$', views.testApplet, name="testApplet"), 
     111    url( r'^binary/(?P<name>[^/]+)$', views.getBinary, name="testBinary"),  
     112     
    109113) 
  • branches/Beta4.2/components/tools/OmeroWeb/omeroweb/webclient/views.py

    r7590 r7634  
    23912391    return webgateway_views.render_split_channel(request, iid, z, t, _conn=conn, **kwargs) 
    23922392 
     2393 
     2394#################################################################################### 
     2395# em 
     2396@isUserConnected 
     2397def testApplet(request, **kwargs): 
     2398    template = "webclient/oav.html" 
     2399             
     2400    context = {} 
     2401    t = template_loader.get_template(template) 
     2402    c = Context(request, context) 
     2403    rsp = t.render(c) 
     2404    return HttpResponse(rsp) 
     2405 
     2406@isUserConnected 
     2407def getBinary(request, name, **kwargs): 
     2408    conn = None 
     2409    try: 
     2410        conn = kwargs["conn"] 
     2411    except: 
     2412        logger.error(traceback.format_exc()) 
     2413        return handlerInternalError("Connection is not available. Please contact your administrator.") 
     2414 
     2415    shortpath = os.path.join("/Users/ola/Dev/omero/components/tools/OmeroWeb/omeroweb/test", name) 
     2416    from django.core.servers.basehttp import FileWrapper 
     2417    a = FileWrapper(file(shortpath)) 
     2418     
     2419    rsp = HttpResponse(a) 
     2420     
     2421    return rsp 
     2422 
     2423 
    23932424#################################################################################### 
    23942425# utils 

1.2.1-PRO © 2008-2009 agile42 all rights reserved (this page was served in: 0.306530 sec.)