diff options
author | Ignacio Rodríguez <ignacio@sugarlabs.org> | 2013-01-10 17:19:30 (GMT) |
---|---|---|
committer | Ignacio Rodríguez <ignacio@sugarlabs.org> | 2013-01-10 17:19:30 (GMT) |
commit | d78e6e6f621a2af699e23c7443e2211a79435e88 (patch) | |
tree | 17f6fe0b1079e216afbac508036be2a6b11018bd | |
parent | bc587bc23138e916b272ea388d4a434d51016161 (diff) |
Pastebin Uploader.
-rw-r--r-- | uploader.py | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/uploader.py b/uploader.py new file mode 100644 index 0000000..87292dd --- /dev/null +++ b/uploader.py @@ -0,0 +1,86 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# uploader.py by/por: +# Ignacio Rodríguez <nachoel01@gmail.com> +# Sugarlabs - CeibalJAM! - Uruguay + +# 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 urllib2 +import urllib +import gtk +try: + from sugar.graphics.alert import ErrorAlert +except: + pass +from gettext import gettext as _ + + +class Pastebin: + def __init__(self, activity, text, name, syntax): + self.activity = activity + self.url = "http://pastebin.com/api/api_post.php" + self.request = {} + self.request['api_paste_code'] = text + self.request['api_dev_key'] = "6c71766cdadff9f33347e80131397ac2" + # Dont touch this ^^^ + self.request['api_option'] = 'paste' + self.request['api_paste_format'] = syntax + self.request['api_paste_name'] = name + self.urlrequest = urllib.urlencode(self.request) + try: + self.upload = urllib2.urlopen(self.url, self.urlrequest) + except urllib2.URLError: + try: + alert = ErrorAlert() + alert.props.title = _('Error') + alert.props.msg = _('Error trying upload the file') + alert.connect('response', self._alert_response_cb) + self.activity.add_alert(alert) + except: + print 'Error al cargar' + else: + respuesta = self.upload.read() + try: + alert = ErrorAlert() + alert.props.title = _('Genial!') + alert.props.title = _('Carga finalizada. El link ha sido copiado al portapapeles') + self.activity.add_alert(alert) + alert.connect('response', self._alert_response_cb) + except: + pass + clipboard = gtk.Clipboard() + clipboard.set_text(respuesta) + + def _alert_response_cb(self, alert, response_id): + self.activity.remove_alert(alert) + +class acexample: + def __init__(self): + pass + def add_alert(alert): + pass + def remove_alert(alert): + pass + +if __name__ == "__main__": + print " Testeo " + name = raw_input('Título:') + texto = raw_input('Escriba un texto a subir:') + syntax = raw_input('Syntax:') + Pastebin(acexample(), texto, name, syntax) |