1. catapela
  2. django-dynamic-link

Commits

catapela  committed 416a6a7

0.4.8.2 Some small changes

  • Participants
  • Parent commits 6910ee5
  • Branches default

Comments (0)

Files changed (11)

File src/LICENSE

View file
-/home/catapela/Projekte/NetBeansProjects/django/distribution/django-dynamic-link/src/dynamicLink/LICENSE
+Copyright (c) 2010, Andreas Fritz
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted 
+provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, this list of
+      conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice, this list of
+      conditions and the following disclaimer in the documentation and/or other materials
+      provided with the distribution.
+ 
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 
+IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
+OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

File src/MANIFEST.in

View file
-include README LICENSE
+include LICENSE
 recursive-include dynamicLink/ *
 recursive-include example/ *

File src/README

View file
-/home/catapela/Projekte/NetBeansProjects/django/distribution/django-dynamic-link/src/dynamicLink/README
+===========
+Description
+===========
+
+Django file streaming application to provide download links without showing the real path to the served file. The links can be set to expire by date or by clicks. It is also possible to use it for counting clicks on a download link.
+
+**License**
+
+    New BSD license
+
+**Notes**
+
+    * It's tested with Django 1.2 / 1.3
+    * Example project is included
+
+========
+Features
+========
+
+    * Link expires by clicks (optional)
+    * Link expires by time (optional)
+    * Is usable for counting clicks
+
+============
+Installation
+============
+
+**Dependences**
+
+    * This app
+    * Django itself, its redirects from django.contrib and its locale middleware.
+
+**Installation**
+
+    *Manual Installation*
+
+        * Download the file and unzip it.
+        * Copy the folder in your project root.
+
+    *Installation with pip*
+
+        * Type in your terminal: "pip install django-dynamic-link"
+        * With pip you can also uninstall it: "pip uninstall django-dynamic-link"
+
+    *Other possibilities*
+
+        * Open a terminal and change to the folder which contains the setup.py and then type "setup.py install"
+
+**test your installation**
+
+    Go to console and type:
+
+::
+
+    :~$ python
+    import dynamicLink
+    dynamicLink.VERSION
+
+=====
+Setup
+=====
+
+    * Add "dynamicLink" to you installed apps in the settings file.
+    * Make sure that:
+        -   'django.middleware.locale.LocaleMiddleware', is in your MIDDLEWARE_CLASSES.
+        -   'django.contrib.redirects.middleware.RedirectFallbackMiddleware', is in your MIDDLEWARE_CLASSES.
+        -   'django.contrib.redirects', is added to your INSTALLED_APPS.
+        -   Your Admin is enabled ('django.contrib.admin', is in your INSTALLED_APPS.)
+    * Add the following to your urls.py:
+        -   from dynamicLink import dl_settings
+        -   (r'^%s/' % dl_settings.DYNAMIC_LINK_URL_BASE_COMPONENT, include('dynamicLink.urls')),
+    * Run "python manage.py syncdb".
+    * And finally "python manage.py runserver".
+
+**Make it custom**
+
+    You have the following variables to overwrite the applications presettings.
+
+    * DYNAMIC_LINK_MEDIA
+        - Default: settings.MEDIA_ROOT
+        - A path to a directory. From this point you can walk down the subdirectories to choose your files to serve.
+    * DYNAMIC_LINK_URL_BASE_COMPONENT
+        - Default: 'serve'
+        - A string that modifies your url serve path.
+        - Example: www.example.com/DYNAMIC_LINK_URL_BASE_COMPONENT/link/3839hd8HKl3/example.zip.
+
+    Use the global settings.py in your projects root or create an extra file named dl_settings.py there (which is used then instead of settings.py. May customize and use the file from the example folder).
+
+=====
+Usage
+=====
+
+Open the admin interface and go to "Dynamiclink" section. The rest should be self-explanatory.
+
+**Hints**
+
+    * Zero value for link age means never expires.
+    * Zero value for clicks means unlimited clicks.
+    * If a link never expires you can use it for click counting.
+    * Trough the action menu you can serve a site with several links. 
+    * The filename from the created links are only for human readability. You can delete or change this filenames in any way you want.
+
+===============
+Example project
+===============
+
+djang-dynamic-links ships with an example proect.
+
+    1. First unpack the tar.gz
+    2. Than move "dynamicLink" in to the "example" folder or install it (see install section).
+    3. Run "python manage.py syncdb" and "python manage.py runserver".
+    4. Open a Browser, go to: http://127.0.0.1:8000/
+

File src/dynamicLink/LICENSE

-Copyright (c) 2010, Andreas Fritz
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted 
-provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice, this list of
-      conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice, this list of
-      conditions and the following disclaimer in the documentation and/or other materials
-      provided with the distribution.
- 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 
-FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
-CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 
-IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
-OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

File src/dynamicLink/README

-===========
-Description
-===========
-
-Django file streaming application to provide download links without showing the real path to the served file. The links can be set to expire by date or by clicks. It is also possible to use it for counting clicks on a download link.
-
-**License**
-
-    New BSD license
-
-**Notes**
-
-    * It's tested with Django 1.2 / 1.3
-    * Example project is included
-
-========
-Features
-========
-
-    * Link expires by clicks (optional)
-    * Link expires by time (optional)
-    * Is usable for counting clicks
-
-============
-Installation
-============
-
-**Dependences**
-
-    * This app
-    * Django itself, its redirects from django.contrib and its locale middleware.
-
-**Installation**
-
-    *Manual Installation*
-
-        * Download the file and unzip it.
-        * Copy the folder in your project root.
-
-    *Installation with pip*
-
-        * Type in your terminal: "pip install django-dynamic-link"
-        * With pip you can also uninstall it: "pip uninstall django-dynamic-link"
-
-    *Other possibilities*
-
-        * Open a terminal and change to the folder which contains the setup.py and then type "setup.py install"
-
-**test your installation**
-
-    Go to console and type:
-
-    * :~$ python
-    * import dynamicLink
-    * dynamicLink.VERSION
-    * help(dynamicLink)
-
-=====
-Setup
-=====
-
-    * Add "dynamicLink" to you installed apps in the settings file.
-    * Make sure that:
-        -   'django.middleware.locale.LocaleMiddleware', is in your MIDDLEWARE_CLASSES.
-        -   'django.contrib.redirects.middleware.RedirectFallbackMiddleware', is in your MIDDLEWARE_CLASSES.
-        -   'django.contrib.redirects', is added to your INSTALLED_APPS.
-        -   Your Admin is enabled ('django.contrib.admin', is in your INSTALLED_APPS.)
-    * Add the following to your urls.py:
-        -   from dynamicLink import dl_settings
-        -   (r'^%s/' % dl_settings.DYNAMIC_LINK_URL_BASE_COMPONENT, include('dynamicLink.urls')),
-    * Run "python manage.py syncdb".
-    * And finally "python manage.py runserver".
-
-**Make it custom**
-
-    You have the following variables to overwrite the applications presettings.
-
-    * DYNAMIC_LINK_MEDIA
-        - Default: settings.MEDIA_ROOT
-        - A path to a directory. From this point you can walk down the subdirectories to choose your files to serve.
-    * DYNAMIC_LINK_URL_BASE_COMPONENT
-        - Default: 'serve'
-        - A string that modifies your url serve path.
-        - Example: www.example.com/DYNAMIC_LINK_URL_BASE_COMPONENT/link/3839hd8HKl3/example.zip.
-
-    Use the global settings.py in your projects root or create an extra file named dl_settings.py there (which is used then instead of settings.py. May customize and use the file from the example folder).
-
-=====
-Usage
-=====
-
-Open the admin interface and go to "Dynamiclink" section. The rest should be self-explanatory.
-
-**Hints**
-
-    * Zero value for link age means never expires.
-    * Zero value for clicks means unlimited clicks.
-    * If a link never expires you can use it for click counting.
-    * Trough the action menu you can serve a site with several links. 
-    * The filename from the created links are only for human readability. You can delete or change this filenames in any way you want.
-
-===============
-Example project
-===============
-
-djang-dynamic-links ships with an example proect.
-
-    1. First unpack the tar.gz
-    2. Than move "dynamicLink" in to the "example" folder or install it (see install section).
-    3. Run "python manage.py syncdb" and "python manage.py runserver".
-    4. Open a Browser, go to: http://127.0.0.1:8000/
-

File src/dynamicLink/__init__.py

View file
 import os
 
 __version__ = VERSION = version.VERSION
-__doc__ = open(os.path.join(os.path.dirname(__file__), 'README')).read()
-__docformat__ = 'reStructuredText'
+__doc__ = 'For full documentation review the README file in your package or go to: http://pypi.python.org/pypi/django-dynamic-link/'
+__docformat__ = 'txt'

File src/dynamicLink/__init__.pyc

Binary file modified.

File src/dynamicLink/version.py

View file
 # -*- coding:utf-8 -*-
 # This Python file uses the following encoding: utf-8
 
-VERSION = (0,4,8)
+VERSION = (0,4,8.2)
 APPLICATION_NAME = "Dynamic Link"
 VERSION_str = str(VERSION).strip('()').replace(',','.').replace(' ','')
 VERSION_INFO = """
 
 Hints:
 
+
+- 0.4.8.2   Some small changes
 - 0.4.8     Runs now under Django 1.3
 - 0.4.7   - Preesettings can now be overwrite in the presettings.py in the project
             folder, or directly in the global settings.py, or in a file

File src/dynamicLink/version.pyc

Binary file modified.

File src/readme.html

View file
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.6: http://docutils.sourceforge.net/" />
+<title></title>
+<style type="text/css">
+
+/*
+:Author: David Goodger (goodger@python.org)
+:Id: $Id: html4css1.css 5951 2009-05-18 18:03:10Z milde $
+:Copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+  border: 0 }
+
+table.borderless td, table.borderless th {
+  /* Override padding for "table.docutils td" with "! important".
+     The right padding separates the table cells. */
+  padding: 0 0.5em 0 0 ! important }
+
+.first {
+  /* Override more specific margin styles with "! important". */
+  margin-top: 0 ! important }
+
+.last, .with-subtitle {
+  margin-bottom: 0 ! important }
+
+.hidden {
+  display: none }
+
+a.toc-backref {
+  text-decoration: none ;
+  color: black }
+
+blockquote.epigraph {
+  margin: 2em 5em ; }
+
+dl.docutils dd {
+  margin-bottom: 0.5em }
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+  font-weight: bold }
+*/
+
+div.abstract {
+  margin: 2em 5em }
+
+div.abstract p.topic-title {
+  font-weight: bold ;
+  text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+  margin: 2em ;
+  border: medium outset ;
+  padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+  font-weight: bold ;
+  font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title {
+  color: red ;
+  font-weight: bold ;
+  font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+   compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+  margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+  margin-top: 0.5em }
+*/
+
+div.dedication {
+  margin: 2em 5em ;
+  text-align: center ;
+  font-style: italic }
+
+div.dedication p.topic-title {
+  font-weight: bold ;
+  font-style: normal }
+
+div.figure {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+div.footer, div.header {
+  clear: both;
+  font-size: smaller }
+
+div.line-block {
+  display: block ;
+  margin-top: 1em ;
+  margin-bottom: 1em }
+
+div.line-block div.line-block {
+  margin-top: 0 ;
+  margin-bottom: 0 ;
+  margin-left: 1.5em }
+
+div.sidebar {
+  margin: 0 0 0.5em 1em ;
+  border: medium outset ;
+  padding: 1em ;
+  background-color: #ffffee ;
+  width: 40% ;
+  float: right ;
+  clear: right }
+
+div.sidebar p.rubric {
+  font-family: sans-serif ;
+  font-size: medium }
+
+div.system-messages {
+  margin: 5em }
+
+div.system-messages h1 {
+  color: red }
+
+div.system-message {
+  border: medium outset ;
+  padding: 1em }
+
+div.system-message p.system-message-title {
+  color: red ;
+  font-weight: bold }
+
+div.topic {
+  margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+  margin-top: 0.4em }
+
+h1.title {
+  text-align: center }
+
+h2.subtitle {
+  text-align: center }
+
+hr.docutils {
+  width: 75% }
+
+img.align-left, .figure.align-left{
+  clear: left ;
+  float: left ;
+  margin-right: 1em }
+
+img.align-right, .figure.align-right {
+  clear: right ;
+  float: right ;
+  margin-left: 1em }
+
+.align-left {
+  text-align: left }
+
+.align-center {
+  clear: both ;
+  text-align: center }
+
+.align-right {
+  text-align: right }
+
+/* reset inner alignment in figures */
+div.align-right {
+  text-align: left }
+
+/* div.align-center * { */
+/*   text-align: left } */
+
+ol.simple, ul.simple {
+  margin-bottom: 1em }
+
+ol.arabic {
+  list-style: decimal }
+
+ol.loweralpha {
+  list-style: lower-alpha }
+
+ol.upperalpha {
+  list-style: upper-alpha }
+
+ol.lowerroman {
+  list-style: lower-roman }
+
+ol.upperroman {
+  list-style: upper-roman }
+
+p.attribution {
+  text-align: right ;
+  margin-left: 50% }
+
+p.caption {
+  font-style: italic }
+
+p.credits {
+  font-style: italic ;
+  font-size: smaller }
+
+p.label {
+  white-space: nowrap }
+
+p.rubric {
+  font-weight: bold ;
+  font-size: larger ;
+  color: maroon ;
+  text-align: center }
+
+p.sidebar-title {
+  font-family: sans-serif ;
+  font-weight: bold ;
+  font-size: larger }
+
+p.sidebar-subtitle {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+p.topic-title {
+  font-weight: bold }
+
+pre.address {
+  margin-bottom: 0 ;
+  margin-top: 0 ;
+  font: inherit }
+
+pre.literal-block, pre.doctest-block {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+span.classifier {
+  font-family: sans-serif ;
+  font-style: oblique }
+
+span.classifier-delimiter {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+span.interpreted {
+  font-family: sans-serif }
+
+span.option {
+  white-space: nowrap }
+
+span.pre {
+  white-space: pre }
+
+span.problematic {
+  color: red }
+
+span.section-subtitle {
+  /* font-size relative to parent (h1..h6 element) */
+  font-size: 80% }
+
+table.citation {
+  border-left: solid 1px gray;
+  margin-left: 1px }
+
+table.docinfo {
+  margin: 2em 4em }
+
+table.docutils {
+  margin-top: 0.5em ;
+  margin-bottom: 0.5em }
+
+table.footnote {
+  border-left: solid 1px black;
+  margin-left: 1px }
+
+table.docutils td, table.docutils th,
+table.docinfo td, table.docinfo th {
+  padding-left: 0.5em ;
+  padding-right: 0.5em ;
+  vertical-align: top }
+
+table.docutils th.field-name, table.docinfo th.docinfo-name {
+  font-weight: bold ;
+  text-align: left ;
+  white-space: nowrap ;
+  padding-left: 0 }
+
+h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
+h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+  font-size: 100% }
+
+ul.auto-toc {
+  list-style-type: none }
+
+</style>
+</head>
+<body>
+<div class="document">
+
+
+<div class="section" id="description">
+<h1>Description</h1>
+<p>Django file streaming application to provide download links without showing the real path to the served file. The links can be set to expire by date or by clicks. It is also possible to use it for counting clicks on a download link.</p>
+<p><strong>License</strong></p>
+<blockquote>
+New BSD license</blockquote>
+<p><strong>Notes</strong></p>
+<blockquote>
+<ul class="simple">
+<li>It's tested with Django 1.2 / 1.3</li>
+<li>Example project is included</li>
+</ul>
+</blockquote>
+</div>
+<div class="section" id="features">
+<h1>Features</h1>
+<blockquote>
+<ul class="simple">
+<li>Link expires by clicks (optional)</li>
+<li>Link expires by time (optional)</li>
+<li>Is usable for counting clicks</li>
+</ul>
+</blockquote>
+</div>
+<div class="section" id="installation">
+<h1>Installation</h1>
+<p><strong>Dependences</strong></p>
+<blockquote>
+<ul class="simple">
+<li>This app</li>
+<li>Django itself, its redirects from django.contrib and its locale middleware.</li>
+</ul>
+</blockquote>
+<p><strong>Installation</strong></p>
+<blockquote>
+<p><em>Manual Installation</em></p>
+<blockquote>
+<ul class="simple">
+<li>Download the file and unzip it.</li>
+<li>Copy the folder in your project root.</li>
+</ul>
+</blockquote>
+<p><em>Installation with pip</em></p>
+<blockquote>
+<ul class="simple">
+<li>Type in your terminal: &quot;pip install django-dynamic-link&quot;</li>
+<li>With pip you can also uninstall it: &quot;pip uninstall django-dynamic-link&quot;</li>
+</ul>
+</blockquote>
+<p><em>Other possibilities</em></p>
+<blockquote>
+<ul class="simple">
+<li>Open a terminal and change to the folder which contains the setup.py and then type &quot;setup.py install&quot;</li>
+</ul>
+</blockquote>
+</blockquote>
+<p><strong>test your installation</strong></p>
+<p>Go to console and type:</p>
+<pre class="literal-block">
+:~$ python
+import dynamicLink
+dynamicLink.VERSION
+</pre>
+</div>
+<div class="section" id="setup">
+<h1>Setup</h1>
+<blockquote>
+<ul>
+<li><p class="first">Add &quot;dynamicLink&quot; to you installed apps in the settings file.</p>
+</li>
+<li><dl class="first docutils">
+<dt>Make sure that:</dt>
+<dd><ul class="first last simple">
+<li>'django.middleware.locale.LocaleMiddleware', is in your MIDDLEWARE_CLASSES.</li>
+<li>'django.contrib.redirects.middleware.RedirectFallbackMiddleware', is in your MIDDLEWARE_CLASSES.</li>
+<li>'django.contrib.redirects', is added to your INSTALLED_APPS.</li>
+<li>Your Admin is enabled ('django.contrib.admin', is in your INSTALLED_APPS.)</li>
+</ul>
+</dd>
+</dl>
+</li>
+<li><dl class="first docutils">
+<dt>Add the following to your urls.py:</dt>
+<dd><ul class="first last simple">
+<li>from dynamicLink import dl_settings</li>
+<li>(r'^%s/' % dl_settings.DYNAMIC_LINK_URL_BASE_COMPONENT, include('dynamicLink.urls')),</li>
+</ul>
+</dd>
+</dl>
+</li>
+<li><p class="first">Run &quot;python manage.py syncdb&quot;.</p>
+</li>
+<li><p class="first">And finally &quot;python manage.py runserver&quot;.</p>
+</li>
+</ul>
+</blockquote>
+<p><strong>Make it custom</strong></p>
+<blockquote>
+<p>You have the following variables to overwrite the applications presettings.</p>
+<ul>
+<li><dl class="first docutils">
+<dt>DYNAMIC_LINK_MEDIA</dt>
+<dd><ul class="first last simple">
+<li>Default: settings.MEDIA_ROOT</li>
+<li>A path to a directory. From this point you can walk down the subdirectories to choose your files to serve.</li>
+</ul>
+</dd>
+</dl>
+</li>
+<li><dl class="first docutils">
+<dt>DYNAMIC_LINK_URL_BASE_COMPONENT</dt>
+<dd><ul class="first last simple">
+<li>Default: 'serve'</li>
+<li>A string that modifies your url serve path.</li>
+<li>Example: www.example.com/DYNAMIC_LINK_URL_BASE_COMPONENT/link/3839hd8HKl3/example.zip.</li>
+</ul>
+</dd>
+</dl>
+</li>
+</ul>
+<p>Use the global settings.py in your projects root or create an extra file named dl_settings.py there (which is used then instead of settings.py. May customize and use the file from the example folder).</p>
+</blockquote>
+</div>
+<div class="section" id="usage">
+<h1>Usage</h1>
+<p>Open the admin interface and go to &quot;Dynamiclink&quot; section. The rest should be self-explanatory.</p>
+<p><strong>Hints</strong></p>
+<blockquote>
+<ul class="simple">
+<li>Zero value for link age means never expires.</li>
+<li>Zero value for clicks means unlimited clicks.</li>
+<li>If a link never expires you can use it for click counting.</li>
+<li>Trough the action menu you can serve a site with several links.</li>
+<li>The filename from the created links are only for human readability. You can delete or change this filenames in any way you want.</li>
+</ul>
+</blockquote>
+</div>
+<div class="section" id="example-project">
+<h1>Example project</h1>
+<p>djang-dynamic-links ships with an example proect.</p>
+<blockquote>
+<ol class="arabic simple">
+<li>First unpack the tar.gz</li>
+<li>Than move &quot;dynamicLink&quot; in to the &quot;example&quot; folder or install it (see install section).</li>
+<li>Run &quot;python manage.py syncdb&quot; and &quot;python manage.py runserver&quot;.</li>
+<li>Open a Browser, go to: <a class="reference external" href="http://127.0.0.1:8000/">http://127.0.0.1:8000/</a></li>
+</ol>
+</blockquote>
+</div>
+</div>
+</body>
+</html>

File src/setup.py

View file
 VERSION = version.VERSION_str
 
 # Get description from Readme file
-long_description = open(os.path.join(os.path.dirname(__file__), 'dynamicLink', 'README')).read()
+long_description = open(os.path.join(os.path.dirname(__file__), 'README')).read()
 
 # Build a list with requirements of the app
 REQUIRES = ['setuptools']