aboutsummaryrefslogtreecommitdiffstats
path: root/README.rst
blob: 045ae76c6c0078da4dfe7ca5c1f023219d7d8bb5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
django-brevisurl
================

django-brevisurl is django app for shortening urls. Brevis is a latin word, which means
short, so the name brevisurl == shorturl or url shortener. The actual creating of short
url is handled by the shortening backend.


Requirements
------------

- python 2.7+
- django


Installation
------------

Install via pypi or copy this module into your project or into your PYTHONPATH.


**Put brevisurl into INSTALLED_APPS in your projects settings.py file**

::

 INSTALLED_APPS = (
     'localeurl',
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.sites',
     'django.contrib.admin',
     'django.contrib.sitemaps',
     'web',
     'debug_toolbar',
     'rosetta',
     'south',
     'brevisurl'
 )



**Run syncdb command to create database tables from brevisurl models**

::

 python manage.py syncdb


Configuration
-------------

**django settings.py constants**

::

 # Setting for default brevis backend
 BREVISURL_BACKEND = 'brevisurl.backends.local.BrevisUrlBackend' # Default is 'brevisurl.backends.local.BrevisUrlBackend'


**Append brevisurl url patterns to your urls.py at the end of module, if you're using local backend**

::

 urlpatterns += patterns('',
     # brevisurl urls
     (r'^', include('brevisurl.urls'))
 )


Examples
--------

**Example 1**

Using programmatic approach

::

 from brevisurl import get_connection

 connection = get_connection()
 short_url_obj = connection.shorten_url('http://www.codescale.net/')
 print short_url_obj.shortened_url


**Example 2**

Using programmatic approach with shortcut

::

 from brevisurl import shorten_url

 shor_url_obj = shorten_url('http://www.codescale.net/')
 print shor_url_obj.shortened_url


**Example 3**

Using brevisurl in templates via filter approach

::

 {% load brevisurl %}
 {% url homepage as homepage_url %}
 {{ homepage_url|shorten_url }}


**Example 4**

Using brevisurl in templates with filtered tag approach.
brevisurl comes with special tag called `absurl` that works
exactly the same as `url` django tag but prepends protocol + domain
in front of resovled url path.

::

 {% load brevisurltags %}
 {% absurl homepage as homepage_url %}
 {{ homepage_url|shorten_url }}


Tests
-----

**Tested on evnironment**

- Xubuntu Linux 12.04 LTS precise 64-bit
- python 2.7.3+
- python unittest
- django 1.4

**Running tests**

To run the test run command: ::

 $ python manage.py test brevisurl



Author
------

| char0n (VladimĂ­r Gorej, CodeScale s.r.o.)
| email: gorej@codescale.net
| web: http://www.codescale.net


References
----------

 - http://github.com/char0n/django-brevisurl
 - http://pypi.python.org/pypi/django-brevisurl/
 - http://www.codescale.net/en/community#django-brevisurl