Какое самое простое приложение для сокращения URL-адресов, которое можно написать на python для Google App Engine? - PullRequest
13 голосов
/ 10 сентября 2009

Такие сервисы, как bit.ly, отлично подходят для сокращения URL-адресов, которые вы хотите включить в твиты и другие разговоры. Какое самое простое приложение для сокращения URL-адресов, которое можно написать на python для Google App Engine?

Ответы [ 3 ]

29 голосов
/ 10 сентября 2009

Звучит как вызов!

from google.appengine.ext import db
from google.appengine.ext import webapp
from google.appengine.ext.webapp import run_wsgi_app

class ShortLink(db.Model):
  url = db.TextProperty(required=True)

class CreateLinkHandler(webapp.RequestHandler):
  def post(self):
    link = ShortLink(url=self.request.POST['url'])
    link.put()
    self.response.out.write("%s/%d" % (self.request.host_url, link.key().id())

  def get(self):
    self.response.out.write('<form method="post" action="/create"><input type="text" name="url"><input type="submit"></form>')

class VisitLinkHandler(webapp.RequestHandler):
  def get(self, id):
    link = ShortLink.get_by_id(int(id))
    if not link:
      self.error(404)
    else:
      self.redirect(link.url)

application = webapp.WSGIApplication([
    ('/create', CreateLinkHandler),
    ('/(\d+)', VisitLinkHandler),
])

def main():
  run_wsgi_app(application)

if __name__ == "__main__":
  main()
2 голосов
/ 18 февраля 2011

аналогично, в комплекте с образцом проекта GAE: https://github.com/dustingetz/vanity-redirect

1 голос
/ 04 декабря 2009

На github есть приложение django, github.com/nileshk/url-shortener. Я разветвлял его, чтобы сделать его более всеобъемлющим, http://github.com/voidfiles/url-shortener.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...