!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache/2.2.16 (Debian). PHP/5.3.3-7+squeeze19 

uname -a: Linux mail.tri-specialutilitydistrict.com 2.6.32-5-amd64 #1 SMP Tue May 13 16:34:35 UTC
2014 x86_64
 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/share/pyshared/invest/   drwxr-xr-x
Free 130.04 GB of 142.11 GB (91.5%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     preferences.py (4.1 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
from gettext import gettext as _
from os.path import join
import gtk, gobject, gconf
import invest
from gettext import gettext as _

import cPickle

class PrefsDialog:
    def __init__(self, applet):
        self.ui = gtk.Builder()
        self.ui.add_from_file(join(invest.BUILDER_DATA_DIR, "prefs-dialog.ui"))

        self.dialog = self.ui.get_object("preferences")
        self.treeview = self.ui.get_object("stocks")

        self.ui.get_object("add").connect('clicked', self.on_add_stock)
        self.ui.get_object("add").connect('activate', self.on_add_stock)
        self.ui.get_object("remove").connect('clicked', self.on_remove_stock)
        self.ui.get_object("remove").connect('activate', self.on_remove_stock)
        self.treeview.connect('key-press-event', self.on_tree_keypress)

        self.typs = (str, str, float, float, float)
        self.names = (_("Symbol"), _("Label"), _("Amount"), _("Price"), _("Commission"))
        store = gtk.ListStore(*self.typs)
        store.set_sort_column_id(0, gtk.SORT_ASCENDING)
        self.treeview.set_model(store)
        self.model = store

        def on_cell_edited(cell, path, new_text, col, typ):
            try:
                if col == 0:    # stock symbols must be uppercase
                    new_text = str.upper(new_text)
                store[path][col] = typ(new_text)
            except:
                pass

        def get_cell_data(column, cell, model, iter, data):
            typ, col = data
            if typ == int:
                cell.set_property('text', "%d" % typ(model[iter][col]))
            elif typ == float:
                cell.set_property('text', "%.2f" % typ(model[iter][col]))
            else:
                cell.set_property('text', typ(model[iter][col]))

        def create_cell (view, column, name, typ):
            cell_description = gtk.CellRendererText ()
            cell_description.set_property("editable", True)
            cell_description.connect("edited", on_cell_edited, column, typ)
            column_description = gtk.TreeViewColumn (name, cell_description)
            if typ == str:
                column_description.set_attributes (cell_description, text=column)
                column_description.set_sort_column_id(column)
            if typ == float:
                column_description.set_cell_data_func(cell_description, get_cell_data, (float, column))
            view.append_column(column_description)


        for n in xrange (0, 5):
            create_cell (self.treeview, n, self.names[n], self.typs[n])        
        stock_items = invest.STOCKS.items ()
        stock_items.sort ()
        for key, data in stock_items:
            label = data["label"]
            purchases = data["purchases"]
            for purchase in purchases:
                store.append([key, label, purchase["amount"], purchase["bought"], purchase["comission"]])

        try:
            pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(join(invest.ART_DATA_DIR, "invest-16.png"), -1,-1)
            self.dialog.set_icon(pixbuf)
        except Exception, msg:
            invest.debug("Could not load 'invest-16.png' file: %s" % msg)
            pass

        self.sync_ui()

    def show_run_hide(self, explanation = ""):
        expl = self.ui.get_object("explanation")
        expl.set_markup(explanation)
        self.dialog.show_all()
        if explanation == "":
            expl.hide()
        self.dialog.run()
        self.dialog.destroy()

        invest.STOCKS = {}

        def save_symbol(model, path, iter):
            #if int(model[iter][1]) == 0 or float(model[iter][2]) < 0.0001:
            #    return

            if not model[iter][0] in invest.STOCKS:
                invest.STOCKS[model[iter][0]] = { 'label': model[iter][1], 'purchases': [] }
                
            invest.STOCKS[model[iter][0]]["purchases"].append({
                "amount": float(model[iter][2]),
                "bought": float(model[iter][3]),
                "comission": float(model[iter][4]),
            })
        self.model.foreach(save_symbol)
        try:
            cPickle.dump(invest.STOCKS, file(invest.STOCKS_FILE, 'w'))
            invest.debug('Stocks written to file')
        except Exception, msg:
            invest.error('Could not save stocks file: %s' % msg)


    def sync_ui(self):
        pass

    def on_add_stock(self, w):
        iter = self.model.append(["GOOG", "Google Inc.", 0, 0, 0])
        path = self.model.get_path(iter)
        self.treeview.set_cursor(path, self.treeview.get_column(0), True)

    def on_remove_stock(self, w):
        model, paths = self.treeview.get_selection().get_selected_rows()
        for path in paths:
            model.remove(model.get_iter(path))

    def on_tree_keypress(self, w, event):
        if event.keyval == 65535:
            self.on_remove_stock(w)

        return False

def show_preferences(applet, explanation = ""):
    PrefsDialog(applet).show_run_hide(explanation)

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0142 ]--