Skip to content

Commit

Permalink
Added advanced options to user/group creation
Browse files Browse the repository at this point in the history
  • Loading branch information
JeffHoogland committed Jan 17, 2013
1 parent 294219c commit 0a0ea8d
Show file tree
Hide file tree
Showing 9 changed files with 649 additions and 15 deletions.
9 changes: 5 additions & 4 deletions TaskManager.py
Expand Up @@ -10,6 +10,7 @@ def __init__(self, parent):
self.win = win = parent.mainWindow
self.rent = parent
self.appstokill = []
self.processes = []

lbl = elementary.Label(self.win)
lbl.text = "Running Processes:"
Expand Down Expand Up @@ -69,23 +70,23 @@ def kill_process( self, bt, pid ):
self.run_command(False, False, "kill -9 %s"%pid)

def processes_build( self, cmd=False, arg=False ):
print "cmd %s , arg %s"%(cmd, arg)
#print "cmd %s , arg %s"%(cmd, arg)
self.gl.clear()
self.processes = []

itc = elementary.GenlistItemClass(item_style="default",
content_get_func=self.process_return)

tmp = psutil.get_process_list()
for p in tmp:
#print p
#if "kworker" not in p.name and "getty" not in p.name and "watchdog" not in p.name and p.pid > 100:
if os.getpgid(p.pid) > 1 and "getty" not in p.name:
self.gl.item_append(itc, p, None)
self.processes.append(p)

def process_return( self, obj, part, data ):
#print data.name
#print data.pid
print "Name: %s , Group: %s"%(data.name, os.getpgid(data.pid))
#print "Name: %s , Group: %s"%(data.name, os.getpgid(data.pid))
if part == "elm.swallow.icon":
box = elementary.Box(self.win)
box.horizontal = True
Expand Down
Binary file modified TaskManager.pyc
Binary file not shown.
16 changes: 12 additions & 4 deletions TaskManager.py~
Expand Up @@ -10,6 +10,7 @@ class TaskManager(elementary.Box):
self.win = win = parent.mainWindow
self.rent = parent
self.appstokill = []
self.processes = []

lbl = elementary.Label(self.win)
lbl.text = "Running Processes:"
Expand Down Expand Up @@ -68,23 +69,30 @@ class TaskManager(elementary.Box):
def kill_process( self, bt, pid ):
self.run_command(False, False, "kill -9 %s"%pid)

def processes_build( self ):
def processes_build( self, cmd=False, arg=False ):
#print "cmd %s , arg %s"%(cmd, arg)
lastitem = False
if len(self.gl.realized_items_get()):
lastitem = self.gl.realized_items_get()[0]
self.gl.clear()
self.processes = []

itc = elementary.GenlistItemClass(item_style="default",
content_get_func=self.process_return)

tmp = psutil.get_process_list()
for p in tmp:
#print p
#if "kworker" not in p.name and "getty" not in p.name and "watchdog" not in p.name and p.pid > 100:
if os.getpgid(p.pid) > 1 and "getty" not in p.name:
self.gl.item_append(itc, p, None)
self.processes.append(p)

if lastitem:
lastitem.bring_in()

def process_return( self, obj, part, data ):
#print data.name
#print data.pid
print "Name: %s , Group: %s"%(data.name, os.getpgid(data.pid))
#print "Name: %s , Group: %s"%(data.name, os.getpgid(data.pid))
if part == "elm.swallow.icon":
box = elementary.Box(self.win)
box.horizontal = True
Expand Down
48 changes: 41 additions & 7 deletions UserManager.py
Expand Up @@ -93,11 +93,24 @@ def add_group(self, btn=False, data=False):
entry1.show()
lbl1.content = entry1

lbl2 = elementary.Frame(self.win)
lbl2.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
lbl2.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
lbl2.text = "Additional groupadd Arguments (optional):"
lbl2.show()

entry2 = elementary.Entry(self.win)
entry2.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
entry2.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
entry2.single_line = True
entry2.show()
lbl2.content = entry2

ok = elementary.Button(self.win)
ok.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
ok.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
ok.text = "Create Group"
ok.callback_pressed_add(self.create_group, entry1)
ok.callback_pressed_add(self.create_group, entry1, entry2)
ok.show()

nvm = elementary.Button(self.win)
Expand All @@ -119,16 +132,20 @@ def add_group(self, btn=False, data=False):
box.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
box.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
box.pack_end(lbl1)
#box.pack_end(lbl2)
box.pack_end(lbl2)
#box.pack_end(lbl3)
box.pack_end(bbox)
box.show()

self.rent.nf.item_simple_push(box)

def create_group(self, bnt, groupname):
def create_group(self, bnt, groupname, xtra):
print "%s"%(groupname.text)
self.run_command(False, False, "gksudo 'groupadd %s'"%groupname.text)
print xtra.text
if xtra.text:
self.run_command(False, False, "gksudo 'groupadd %s %s'"%(xtra.text, groupname.text))
else:
self.run_command(False, False, "gksudo 'groupadd %s'"%(groupname.text))
self.rent.nf.item_pop()

def add_user(self, btn=False, data=False):
Expand All @@ -150,6 +167,12 @@ def add_user(self, btn=False, data=False):
lbl3.text = "Confirm Password:"
lbl3.show()

lbl4 = elementary.Frame(self.win)
lbl4.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
lbl4.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
lbl4.text = "Additional useradd Arguments (optional):"
lbl4.show()

entry1 = elementary.Entry(self.win)
entry1.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
entry1.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
Expand All @@ -173,11 +196,18 @@ def add_user(self, btn=False, data=False):
entry3.show()
lbl3.content = entry3

entry4 = elementary.Entry(self.win)
entry4.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
entry4.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
entry4.single_line = True
entry4.show()
lbl4.content = entry4

ok = elementary.Button(self.win)
ok.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
ok.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
ok.text = "Create User"
ok.callback_pressed_add(self.create_user, entry1, entry2, entry3)
ok.callback_pressed_add(self.create_user, entry1, entry2, entry3, entry4)
ok.show()

nvm = elementary.Button(self.win)
Expand All @@ -201,16 +231,20 @@ def add_user(self, btn=False, data=False):
box.pack_end(lbl1)
box.pack_end(lbl2)
box.pack_end(lbl3)
box.pack_end(lbl4)
box.pack_end(bbox)
box.show()

self.rent.nf.item_simple_push(box)

def create_user(self, bnt, username, passwd1, passwd2):
def create_user(self, bnt, username, passwd1, passwd2, xtra):
print "%s %s %s"%(username.text, passwd1.text, passwd2.text)
self.rent.nf.item_pop()
if passwd1.text == passwd2.text:
self.run_command(False, False, "gksudo 'useradd %s -m -p %s'"%(username.text, passwd1.text))
if xtra.text:
self.run_command(False, False, "gksudo 'useradd %s -m -p %s %s'"%(username.text, passwd1.text, xtra.text))
else:
self.run_command(False, False, "gksudo 'useradd %s -m -p %s'"%(username.text, passwd1.text))
else:
self.popup_message("The entered passwords do not match. Please try again.", "Password Mismatch", self.add_user)

Expand Down
Binary file modified UserManager.pyc
Binary file not shown.

0 comments on commit 0a0ea8d

Please sign in to comment.