Django

Code

Changeset 4795

Show
Ignore:
Timestamp:
03/23/07 15:07:18 (1 year ago)
Author:
jacob
Message:

Fixed a few broken model API examples.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • djangoproject.com/django_website/apps/docs/builder.py

    r4789 r4795  
    3333    parts["api_usage"] = visitor.doctest 
    3434    parts["models"] = visitor.models 
    35     parts["newstyle"] = visitor.newstyle 
    3635     
    3736    # Parse out the model source. 
    38     if visitor.newstyle
     37    try
    3938        model_source = text[:text.index("__test__")]         
    40     else
    41         model_source = text[:text.index("API_TESTS")] 
     39    except ValueError
     40        model_source = text 
    4241    parts["model_source"] = model_source.replace(tree.doc, "").replace('""""""\n', '\n').strip() 
    4342     
     
    5049        self.doctest = "" 
    5150        self.models = [] 
    52         self.newstyle = True 
    5351     
    5452    def visitAssign(self, node): 
     
    5654        if assname.name == "__test__": 
    5755            self.doctest = valtree.getChildren()[1].value 
    58         elif assname.name == "API_TESTS": 
    59             self.newstyle = False 
    60             self.doctest = valtree.value 
    6156             
    6257    def visitClass(self, node): 
    63         if node.bases and node.bases[0].attrname == "Model": 
     58        if node.bases and isinstance(node.bases[0], compiler.ast.Getattr) and node.bases[0].attrname == "Model": 
    6459            self.models.append(node.name) 
    6560 
  • djangoproject.com/django_website/templates/docs/model_detail.html

    r4789 r4795  
    2424<pre class="literal-block">{{ doc.model_source|escape }}</pre> 
    2525 
     26{% if doc.api_usage %} 
    2627<h2 id="sample-usage">Sample API usage</h2> 
    27 {% if doc.newstyle %} 
    2828<p>This sample code assumes the above model{{ doc.models|pluralize }} {% if doc.models|pluralize %}have{% else %}has{% endif %} 
    2929been saved in a file <tt class="docutils literal"><span class="pre">mysite/models.py</span></tt>. 
    3030<pre class="literal-block">&gt;&gt;&gt; from mysite.models import {% for model in doc.models %}{{ model }}{% if not forloop.last %}, {% endif %}{% endfor %} 
    31 {{ doc.api_usage|escape }}</pre> 
    32 {% else %} 
    33 <pre class="literal-block">{{ doc.api_usage|escape }}</pre> 
     31{{ doc.api_usage|escape }}</pre>   
    3432{% endif %} 
    3533 
     
    4038  <ul> 
    4139  <li><a href="#model-source-code">Model source code</a></li> 
    42   <li><a href="#sample-usage">Sample API usage</a></li> 
     40  {% if doc.api_usage %} 
     41  <li><a href="#sample-usage">Sample API usage</a></li>     
     42  {% endif %} 
    4343  </ul> 
    4444{% endblock %}