4 ms·
Please feel free to leave me some harsh feedback!
by jmau5 15y ago
Please feel free to leave me some harsh feedback!
- jaspersfather 15y agoInstead of if bla in [bla, blubb, bfoo]: return True return False you can write: return bla in [bla, blubb, foo]
- jmau5 15y agoDone! Thanks :)
- kracekumar 15y agouse argparse .
- jmau5 15y agoI'm reading through a bit of the Python docs right now, but after I finish I'll check out argparse. Much appreciated. :)
- kracekumar 15y agoMy pleasure. In case I have time I ll try forking it. :)
- jmau5 15y agoargparse is such a cool module! Whoever knew that command line arguments could be dealt with in a such a beautiful way? I've integrated it into reddit.py and it made the `if __name__ == "__main__"` block look much more professional.
- zalew 15y agowhy assume someone uses sudo and is in sudoers, or that sudo is even present? also 'install feedparser' could be easily replaced by specifying a requirement for pip, or even runnning 'pip install feedparser' from the function if you really want to do it this way. better package it properly, write a setup like this http://docs.python.org/distutils/setupscript.html http://docs.python.org/distutils/setupscript.html and save a .sh wrapper script in /usr/local/bin, this way you can update the package without messing with setup.py every time. some cosmetic/pythonic: if feedparser.parse(subreddit_url).has_key("bozo_exception"): return False return True -> return not feedparser.parse(subreddit_url).has_key("bozo_exception") for post in rss["items"]: print "%s%s\n%s%s\n%s" % (COLOR_RED, post["title"], COLOR_CYAN, post["link"], COLOR_OFF) -> print ["%s%s\n%s%s\n%s" % (COLOR_RED, post["title"], COLOR_CYAN, post["link"], COLOR_OFF) for post in rss['items']] ;)
- jmau5 15y agoI've included the cosmetic/pythonic changes and I'm going to take some time to read through the link you left me. Do you have any recommendations for what I should use other than sudo? This was meant to work under Ubuntu (my OS), but I'd like to extend it so that it will work on any platform. Thanks :)
- jmau5 15y agoUpdate: 1) I've conformed setup.py to distutils, so it's a lot prettier now. 2) I tried using the print [this for this in that] style, but that didn't work out as planned. The actual list itself was printed and the colors didn't work. 3) I'm still using sudo to set the chmod and to move reddit.py to /usr/local/bin, what alternatives are there? On my system I can't do either without sudo.
- zalew 15y ago2. oh yeah, my bad. 3. frankly I don't know why you insist on copying this file with the installer. can't the user copy it themselves? if they want to use your app in shell terminal, it means they heavily use shell terminal, which means they know how to cp file /usr/local/bin or set a link. it's not a case of alternative to sudo, it's a matter of gaining permission to access write to /, Ubuntu (and some other) just has sudo set up out of the box, and a lot of Linux users do it anyway, but it's not required to use or even have sudo. you can also try to add an alias to ~/.bashrc, user has access to that file, but I doubt anyone will like you more for overriding their bashrc ;) (and it also assumes user uses bash, which also isn't required :))
- jmau5 15y agoWould appending the scripts current location to PATH be a better idea?
- ubertaco 15y agoFor 3: Look into using Distribute ( http://packages.python.org/distribute/ http://packages.python.org/distribute/ ). It'll let you specify the "scripts" parameter to the setup() function, which handles placing executables in the OS's PATH.