From 6559cb6fd8313358012855ae009683d7a5724fa5 Mon Sep 17 00:00:00 2001 From: kirbylife Date: Sat, 22 Jun 2019 13:07:10 -0500 Subject: [PATCH] refactored code and added support to python3 --- openbox-pipemenu-recent.py | 64 ++++++++++++------------ openbox-pipemenu-steam.py | 99 ++++++++++++++++++++------------------ 2 files changed, 87 insertions(+), 76 deletions(-) mode change 100644 => 100755 openbox-pipemenu-recent.py mode change 100644 => 100755 openbox-pipemenu-steam.py diff --git a/openbox-pipemenu-recent.py b/openbox-pipemenu-recent.py old mode 100644 new mode 100755 index a424ca1..847f18c --- a/openbox-pipemenu-recent.py +++ b/openbox-pipemenu-recent.py @@ -2,55 +2,59 @@ # -*- coding: utf-8 -*- # # openbox-pipemenu-recent.py -# +# # Copyright 2017 kirbylife -# +# # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. -# +# # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA. -# -# +# +# -import xml.etree.ElementTree import os +import xml.etree.ElementTree -XMLFILE=os.environ['HOME']+"/.local/share/recently-used.xbel" +XMLFILE = os.environ['HOME'] + "/.local/share/recently-used.xbel" + + +def set_item(name, file=""): + if file not in "": + print("xdg-open " + file + + "") + else: + print("") -def setItem(name,file=""): - if file not in "": - print "xdg-open "+file+"" - else: - print "" def main(args): - - ### Header ### - print "" - print "" - ### ### - - e = xml.etree.ElementTree.parse(XMLFILE).getroot() - files=e.findall("bookmark") - for c in range(len(files)-1,len(files)-11,-1): - file=files[c].get("href") - if "file://" in file: - setItem(file[file.rfind("/")+1:],file[7:]) - - ### Footer ### - print "" - ### ### - return 0 + ### Header ### + print("") + print("") + ### ### + + e = xml.etree.ElementTree.parse(XMLFILE).getroot() + files = e.findall("bookmark") + for c in range(len(files) - 1, len(files) - 11, -1): + file = files[c].get("href") + if "file://" in file: + set_item(file[file.rfind("/") + 1:], file[7:]) + + ### Footer ### + print("") + ### ### + return 0 + if __name__ == '__main__': import sys diff --git a/openbox-pipemenu-steam.py b/openbox-pipemenu-steam.py old mode 100644 new mode 100755 index 9268c8a..f92e5d8 --- a/openbox-pipemenu-steam.py +++ b/openbox-pipemenu-steam.py @@ -2,71 +2,78 @@ # -*- coding: utf-8 -*- # # openbox-pipemenu-steam.py -# +# # Copyright 2017 kirbylife -# +# # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. -# +# # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA. -# -# +# +# -from commands import getstatusoutput,getoutput import os -STEAM_URL=os.environ['HOME']+"/.steam/steam/steamapps" +try: + from commands import getoutput, getstatusoutput +except: + from subprocess import getoutput, getstatusoutput + +STEAM_URL = os.environ['HOME'] + "/.steam/steam/steamapps" + + +def set_item(name, appid=None): + if appid: + print("steam steam://rungameid/" + + appid + "") + else: + print("") + -def setItem(name,appid=""): - if appid not in "": - print "steam steam://rungameid/"+appid+"" - else: - print "" - def main(args): - games=[] - - ### Header ### - print "" - print "" - ### ### - - if getstatusoutput("cd "+STEAM_URL)[0] == 1: - setItem("Steam not installed") - else: - games=getoutput("ls "+STEAM_URL+" | grep acf").split("\n") - if len(games) == 0: - setItem("NO games installed") - else: - for c in games: - appid="" - name="" - #print STEAM_URL+"/"+c - manifest=open(STEAM_URL+"/"+c,"r") - data=manifest.read().split("\n") - manifest.close() - for f in data: - if '"appid"' in f: - appid=f.split('"')[3] - elif '"name"' in f: - name=f.split('"')[3] - setItem(name,appid) - + games = [] + + ### Header ### + print("") + print("") + ### ### + + if getstatusoutput("cd " + STEAM_URL)[0] == 1: + set_item("Steam not installed") + else: + games = getoutput("ls " + STEAM_URL + " | grep acf").split("\n") + if not games: + set_item("0 games installed") + else: + for c in games: + appid = "" + name = "" + manifest = open(STEAM_URL + "/" + c, "r") + data = manifest.read().split("\n") + manifest.close() + for f in data: + if '"appid"' in f: + appid = f.split('"')[3] + elif '"name"' in f: + name = f.split('"')[3] + set_item(name, appid) + + ### Footer ### + print("") + ### ### + return 0 - ### Footer ### - print "" - ### ### - return 0 if __name__ == '__main__': import sys