achesak / pastebingtk Goto Github PK
View Code? Open in Web Editor NEWDesktop client for the pastebin.com text sharing service
License: GNU General Public License v3.0
Desktop client for the pastebin.com text sharing service
License: GNU General Public License v3.0
From a key or link.
This will require webscraping.
For example: http://pastebin.com/NbcBNDwH. Can get:
See http://pastebin.com/sessions
Note that this requires the user to be logged in ON THE SITE, not in PastebinGTK.
Selecting the Login menu item will still show the dialog to log in even when already successfully logged in.
This also results in a bug where the interface does not reflect the current state:
Move things out of global, etc
The file for working with command line arguments needs to be transitioned to python-pastebin.
They would require lots of work to get them up to feature parity with the main application, as they have not been updated in quite a while. In addition, they don't fit within the scope of the application. (There are already command line pastebin clients, and this application is supposed to be a graphical desktop client.)
Get Paste should be able to take links as well as paste keys. If a link is given, detect it and parse out the key.
Now possible, but only if logged in and is user's own paste: http://pastebin.com/api#13
Seems to be an issue with PastebinPython:
adam@mr-smith:~/Documents/Programming/PastebinGTK$ python pastebingtk.py
Traceback (most recent call last):
File "pastebingtk.py", line 228, in <lambda>
("list_trending_pastes", None, "List _Trending Pastes...", "<Control>t", None, lambda x: self.list_pastes(source = "trending")),
File "pastebingtk.py", line 565, in list_pastes
pastes = self.api.listTrendingPastes()
File "/home/adam/Documents/Programming/PastebinGTK/resources/pastebin_python/pastebin.py", line 217, in listTrendingPastes
trendsList = self.__parseXML(trendsList)
File "/home/adam/Documents/Programming/PastebinGTK/resources/pastebin_python/pastebin.py", line 332, in __parseXML
retList = self.__parsePaste(xmlString)
File "/home/adam/Documents/Programming/PastebinGTK/resources/pastebin_python/pastebin.py", line 309, in __parsePaste
'paste_format_long':pasteElement.getElementsByTagName('paste_format_long')[0].childNodes[0].nodeValue,
IndexError: list index out of range
All files could use a bit of a code cleanup, mostly with the structuring as well as overuse of comments and blank space.
When uploading a paste as a logged-in user, pastes with the exposure set to Public will still be uploaded as Unlisted. Strangely, this behavior does not occur with anonymous uploading.
TODO: test what setting to Private does.
In the paste creation dialog, if the user isn't logged in they shouldn't be allowed to create a private paste, as pastebin.com only allows logged-in users to create private pastes.
Instead of using a dialog, create a toolbar on the main UI for the login fields.
Put this toolbar below the main editing textbox.
When an invalid command is entered, the program outputs the correct format. However, it uses "./pastebincl" instead of "python pastebingtk.py".
Private pastes cannot be loaded from the List User's Pastes dialog.
There's probably no way to fix this though, as private pastes are simply inaccessible using the API. Possibly show a dialog telling the user that private pastes cannot be loaded?
As this application is primarily intended for use with code, it makes no sense to have the default font be serif/sans-serif.
Private pastes cannot be retrieved through public API, so the spam filter detection fails.
This should be removed from PastebinGTK. Likely cause of #16.
For features like List User's Pastes, Delete Paste, and Get User's Details, the user must be logged in for it to work. However, in the current state all the application does is say that a login is necessary, then stop there. Would be better if the dialog was:
"Must be logged in to .
Login now?"
[Cancel] [OK]
Add more features like undo, redo, cut, copy, paste, find, replace, etc, to make it less painful to edit inside the application
For List User's Pastes. There is an API call to do this.
The pastebin.com API allows for a number of pastes to be specified when retrieving the list of the user's pastes. Currently PastebinGTK uses the default (50), but it can range between 1 and 1000. Use a SpinButton to limit the input to this range.
New menu:
Favorite
Fields for Add:
Store in a JSON file. Store name, key, date added. In View, have button to open selected paste.
It attempts to read a variable that does not exist.
links to pastebin.com's FAQ page
Requires login. Have user select paste from list of their own, then enter new name. Delete old paste and reupload with new name.
In List User's Pastes, List Trending Pastes, List Recent Pastes:
If there is no paste name, display "[Untitled Paste]".
Currently the help page is out of date and incomplete. Redo the formatting and organization to make it more clear, rewrite anything that is outdated, and write anything new that is needed.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.