本文整理汇总了Python中Directory.get_users方法的典型用法代码示例。如果您正苦于以下问题:Python Directory.get_users方法的具体用法?Python Directory.get_users怎么用?Python Directory.get_users使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Directory
的用法示例。
在下文中一共展示了Directory.get_users方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: users_page
# 需要导入模块: import Directory [as 别名]
# 或者: from Directory import get_users [as 别名]
def users_page(self, request):
'''Shows the users (embedded in the main page table)'''
# the title
request.writeln('<center><div class="i">Users:</div></center>')
# current users
request.writeln('''
<p align="center">
<select name="userselect" id="userselect" size="15">
''')
users = Directory.get_users()
users.sort(lambda a,b: cmp(a.username, b.username))
for user in users:
if user.superuser == '1':
request.writeln('<option value="">' + html(user.name) + '</option>')
else:
request.writeln('<option value="' + user.id + '">' + html(user.name) + '</option>')
request.writeln('''
</select>
</p>
<p align="center">
<a href="javascript:editUser();">Edit</a>
|
<a href="javascript:deleteUser();">Delete</a>
</p>
<hr>
<p align="center">
<a href="''' + request.cgi_href(_adminaction='edituser') + '''">Add New User</a>
|
<a href="''' + request.cgi_href(_adminaction='generateusers') + '''">Autogenerate Users</a>
|
<a href="''' + request.cgi_href(_adminaction='exportusers') + '''">Export User Information</a>
</p>
''')
示例2: do_delete_users
# 需要导入模块: import Directory [as 别名]
# 或者: from Directory import get_users [as 别名]
def do_delete_users(self, request):
'''Delete ranges of autogenerated users'''
prefix = request.getvalue('prefix', '')
if len(prefix) == 0:
return
for user in Directory.get_users():
if len(user.name) >= len(prefix) and user.name[:len(prefix)] == prefix:
user.delete()
示例3: meetings_page
# 需要导入模块: import Directory [as 别名]
# 或者: from Directory import get_users [as 别名]
def meetings_page(self, request):
'''Shows the meetings (embedded in the main page table)'''
request.writeln('<div class="module"><h1>Programs</h1>')
# current meetings
request.writeln('''
<div align="center" name="meetingselect" id="meetingselect">
<div id="meetinglist">
''')
meetings = Directory.get_meetings()
meetings.sort(lambda a,b: cmp(a.name, b.name))
for meeting in meetings:
request.writeln('''<div class="progBox">
<span style="display:none;" id="meetinginfo_''' + meeting.id + '''">''' + str(meeting.id) + '''/''' + meeting.view + '''/''' + meeting.name + '''</span>
<span style="float:left;">'''+meeting.name+'''</span>
<span style="float:right;">
<a class="ui-icon ui-icon-pencil" href='javascript:editMeeting("''' + meeting.id + '''");'></a>
<a class="ui-icon ui-icon-closethick" href='javascript:deleteMeeting("''' + meeting.id + '''");'></a>
<a class="ui-icon ui-icon-plusthick" href='javascript:renameMeeting("''' + meeting.id + '''");'></a>
</span>
</div>
''')
request.writeln('''</div><br/>
<center>
<div id="programFormDialog" style="display:none;" title="Create New Program">
''' + request.cgi_form(_adminaction='newmeeting', meetingname=None, meetingview=None, meetingusers=None, name='npForm') + '''
<select style="display:none;" name="meetingview"><option value="poet">POET Acquisition Collaboration</option></select>
<table border=0 style="height:100%;padding:10px;">
<tr>
<td>Name:</td><td><input type="text" name="meetingname" size="20" /></td>
</tr>
<tr>
<td>Users:</td><td><select name="meetingusers" multiple size="5">
''')
users = Directory.get_users()
users.sort(lambda a,b: cmp(a.username, b.username))
for user in users:
request.writeln('''<option id="'''+ user.id + '''">''' + user.name + '''</option>''')
request.writeln('''
</select></td>
</tr>
<tr>
<td><input type="submit" id="newProgram" value="Create" onclick="document.npForm.submit();" /></td><td><input type="button" id="cancelNP" value="Cancel" /></td>
</tr>
</table>
</form>
</div>
<input type="button" id="createNP" value="Create New Program"></input>
</center>
</div>
</div>
''')
示例4: export_users
# 需要导入模块: import Directory [as 别名]
# 或者: from Directory import get_users [as 别名]
def export_users(self, request):
'''Exports the users for import into another application'''
request.writeln('''
<div align="center" class="i">Export User Information</div>
<p>
Copy and paste the following data into your favorite editor. Save the file with a ".csv" extension and then
load into Excel or another application. Note that this feature is present for researchers running treatments
(to print out lists of usernames and passwords to give participants) rather than
for administrators who want to snoop passwords.
</p>
''')
request.writeln('<pre><tt>')
request.writeln('User ID,Username,Password,Real Name,Email')
for user in Directory.get_users():
request.writeln('\t'.join([ user.id, self._format_csv(user.username), self._format_csv(user.password), self._format_csv(user.name), self._format_csv(user.email)]))
request.writeln('</tt></pre>')
示例5: send_admin_page
# 需要导入模块: import Directory [as 别名]
# 或者: from Directory import get_users [as 别名]
#.........这里部分代码省略.........
request.writeln('''<tr><td align='left'> </td><td align='center'><b> <a href='#asset_row' onclick=switchCheckBoxes('see_check'''+str(ctr)+''+str(group_ctr)+'''')>See</a> : <a href='#asset_row' onclick=switchCheckBoxes('move_check'''+str(ctr)+''+str(group_ctr)+'''')>Move</a></b></td></tr>''')
user_ctr=0
for member in group:
user = Directory.get_user(member.user_id) #user is the actual user object. member is the child of a group
request.writeln('''<tr><td align='right'>'''+user.name+'''</td>''')
try:
asset.visible_by.index(user.id)
request.writeln('''<td align='left'> <input id="see_check'''+str(ctr)+""+str(group_ctr)+""+str(user_ctr)+'''" name="_'''+str(user.id)+''':see" value='on' checked type='checkbox'> : ''')
except ValueError: #not in the asset yet --> no check
request.writeln('''<td align='left'> <input id="see_check'''+str(ctr)+""+str(group_ctr)+""+str(user_ctr)+'''" name="_'''+str(user.id)+''':see" value='on' type='checkbox'> : ''')
try:
asset.move_by.index(user.id)
request.writeln('''<input id='move_check'''+str(ctr)+""+str(group_ctr)+""+str(user_ctr)+'''' name="_'''+str(user.id)+''':move" value='on' checked type='checkbox'></td></tr>''')
except ValueError: #not in the asset yet --> no check
request.writeln('''<input id='move_check'''+str(ctr)+""+str(group_ctr)+""+str(user_ctr)+'''' name="_'''+str(user.id)+''':move" value='on' type='checkbox'></td></tr>''')
user_ctr=user_ctr+1
request.writeln('''
<tr><td> </td><td><input type='submit' value='Assign'></td></tr></table></form>
</tr>''')
ctr=ctr+1
request.writeln('</table>')
request.writeln('</center>')
##### Strikecom Teams #####
request.writeln('<a name="teams"></a><h1>Game Teams:</h1>')
# groups in this meeting
groups = datagate.get_child_items(teams.id)
allusers = Directory.get_users()
allusers.sort(lambda a,b: cmp(a.username, b.username))
request.writeln('''
<script language='JavaScript' type='text/javascript'>
<!--
var old_td;
var old_index = -1;
var assetindex;
function addTeam() {
var text = prompt("New Team Name:");
if (text != null && text != '') {
text = encode(text);
window.location.href = "''' + request.cgi_href(global_meetingid=game.id,gm_action='StrikeCom.addgroup', itemid=game.id, name=None) + '''&name=" + text + "#teams";
}
}
function switchCheckBoxes(switch_id)
{
//Conan can be changed to work differently. Other than just ! the boxes
var mode = 'move';
if(switch_id.indexOf('see')!=-1)
{
mode = 'see';
}
var ctr = 0;
var boxes = document.getElementById(switch_id+""+ctr);
while(boxes!=null)
{
boxes.checked = !boxes.checked;
ctr++;
boxes = document.getElementById(switch_id+""+ctr);
示例6: send_content
# 需要导入模块: import Directory [as 别名]
# 或者: from Directory import get_users [as 别名]
def send_content(self, request):
'''The top feedback frame'''
# this is quite a process, but I've timed it on my Mac G4 and it only takes 0.01 seconds
# on faster server, it would go even faster (the G4's not that fast compared to a dedicated server)
rights = self.get_user_rights(request)
# get the activity and treeroot
activity = datagate.get_item(request.getvalue('global_rootid', ''))
ratingRefreshRate = 20000
if hasattr(activity, 'ratingRefreshRate'):
try: ratingRefreshRate = int(activity.ratingRefreshRate) * 1000
except TypeError: pass
# calculate the individual scores (we calculate for all individuals)
indivs = {}
ratingnames = self.get_rating_names(activity)
ratinginfo = dict( [ (ratingname, self.get_rating_adjustment(activity, ratingname)) for ratingname in ratingnames ] )
for item in activity.get_parent().get_child_items(deep=1):
# combine the ratings for this item into a data structure that we can access easily
raters = {}
for key in item.__dict__.keys():
if key.find('rating_') == 0:
parts = key.split('_')
if len(parts) == 3:
dummy, rating, raterid = parts
if not raters.has_key(raterid):
raters[raterid] = {}
raters[raterid][rating] = int(getattr(item, key)) * ratinginfo[rating] # rating * adjustment
# add a comment point for the author of this item
self._get_individual_scores(indivs, item.creatorid)['numComments'] += 1
# add points for the ratings score
if len(raters) > 0:
total = 0.0
for user_ratings in raters.values():
user_product = 1
for rating in user_ratings.values():
user_product *= rating
total += user_product
average = total / len(raters)
else:
average = 0.0
self._get_individual_scores(indivs, item.creatorid)['ratingsScore'] += average
# add a rating point to everyone who rated this comment
for raterid in raters.keys():
self._get_individual_scores(indivs, raterid)['numRatings'] += 1
# drop off the administrator
for user in Directory.get_users():
if user.superuser == '1' and indivs.has_key(user.id):
del indivs[user.id]
# calculate the group averages
group = { 'numCommentsTotal': 0.0, 'ratingsScoreTotal': 0.0, 'numRatingsTotal': 0.0, 'numComments': 0.0, 'ratingsScore' : 0.0, 'numRatings': 0.0 }
if len(indivs) > 0:
for indiv in indivs.values():
group['numCommentsTotal'] += indiv['numComments']
group['ratingsScoreTotal'] += indiv['ratingsScore']
group['numRatingsTotal'] += indiv['numRatings']
group['numComments'] = group['numCommentsTotal'] / len(indivs)
group['ratingsScore'] = group['ratingsScoreTotal'] / len(indivs)
group['numRatings'] = group['numRatingsTotal'] / len(indivs)
# save any goal/timer changes from the administrator
bars = 30
elapsed_time = 0
timer_duration = 0
goal = 100
# get the meeting timer/goal info from the admin if he's saved something
if self.meeting_timer.has_key('z'): # do we have a timer for this meeting?
timer_start, timer_duration, goal = self.meeting_timer['z']
elapsed_time = time.time() - timer_start
# calculate the scale and number of goal bars
scale = float(bars) / float(goal)
num_goal_bars = goal * scale
if timer_duration <= 0 or elapsed_time >= timer_duration:
num_elapsed_goal_bars = num_goal_bars
else:
num_elapsed_goal_bars = num_goal_bars * (elapsed_time / float(timer_duration))
# adjust for the multiplier
myratings = self._get_individual_scores(indivs, request.session.user.id)
myratings['numRatingsN'] = myratings['numRatings']
myratings['numRatings'] *= float(activity.ratingMultiplier)
myratings['numCommentsN'] = myratings['numComments']
myratings['numComments'] *= float(activity.commentMultiplier)
myratings['ratingsScoreN'] = ''
myratings['ratingsScore'] *= float(activity.ratingsScoreMultiplier)
myscore = myratings['numRatings'] + myratings['numComments'] + myratings['ratingsScore']
group['numRatings'] *= float(activity.ratingMultiplier)
group['numComments'] *= float(activity.commentMultiplier)
group['ratingsScore'] *= float(activity.ratingsScoreMultiplier)
groupscore = group['numRatings'] + group['numComments'] + group['ratingsScore']
# history for individual pacing
#.........这里部分代码省略.........