From 3d4bb4b5533fa281c2f11c12ceb0a9ae61aa0d54 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Fri, 21 Jun 2013 22:03:07 +0100 Subject: Ensure action kwargs properly handdled. Refs #940. --- htmlcov/rest_framework_utils_formatting.html | 241 +++++++++++++++++++++++++++ 1 file changed, 241 insertions(+) create mode 100644 htmlcov/rest_framework_utils_formatting.html (limited to 'htmlcov/rest_framework_utils_formatting.html') diff --git a/htmlcov/rest_framework_utils_formatting.html b/htmlcov/rest_framework_utils_formatting.html new file mode 100644 index 00000000..54e1570f --- /dev/null +++ b/htmlcov/rest_framework_utils_formatting.html @@ -0,0 +1,241 @@ + + + + + + + + Coverage for rest_framework/utils/formatting: 97% + + + + + + + + + + + +
+ +

Hot-keys on this page

+
+

+ r + m + x + p   toggle line displays +

+

+ j + k   next/prev highlighted chunk +

+

+ 0   (zero) top of page +

+

+ 1   (one) first highlighted chunk +

+
+
+ +
+ + + + + +
+

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

+ +
+

""" 

+

Utility functions to return a formatted name and description for a given view. 

+

""" 

+

from __future__ import unicode_literals 

+

 

+

from django.utils.html import escape 

+

from django.utils.safestring import mark_safe 

+

from rest_framework.compat import apply_markdown 

+

import re 

+

 

+

 

+

def _remove_trailing_string(content, trailing): 

+

    """ 

+

    Strip trailing component `trailing` from `content` if it exists. 

+

    Used when generating names from view classes. 

+

    """ 

+

    if content.endswith(trailing) and content != trailing: 

+

        return content[:-len(trailing)] 

+

    return content 

+

 

+

 

+

def _remove_leading_indent(content): 

+

    """ 

+

    Remove leading indent from a block of text. 

+

    Used when generating descriptions from docstrings. 

+

    """ 

+

    whitespace_counts = [len(line) - len(line.lstrip(' ')) 

+

                         for line in content.splitlines()[1:] if line.lstrip()] 

+

 

+

    # unindent the content if needed 

+

    if whitespace_counts: 

+

        whitespace_pattern = '^' + (' ' * min(whitespace_counts)) 

+

        content = re.sub(re.compile(whitespace_pattern, re.MULTILINE), '', content) 

+

    content = content.strip('\n') 

+

    return content 

+

 

+

 

+

def _camelcase_to_spaces(content): 

+

    """ 

+

    Translate 'CamelCaseNames' to 'Camel Case Names'. 

+

    Used when generating names from view classes. 

+

    """ 

+

    camelcase_boundry = '(((?<=[a-z])[A-Z])|([A-Z](?![A-Z]|$)))' 

+

    content = re.sub(camelcase_boundry, ' \\1', content).strip() 

+

    return ' '.join(content.split('_')).title() 

+

 

+

 

+

def get_view_name(cls, suffix=None): 

+

    """ 

+

    Return a formatted name for an `APIView` class or `@api_view` function. 

+

    """ 

+

    name = cls.__name__ 

+

    name = _remove_trailing_string(name, 'View') 

+

    name = _remove_trailing_string(name, 'ViewSet') 

+

    name = _camelcase_to_spaces(name) 

+

    if suffix: 

+

        name += ' ' + suffix 

+

    return name 

+

 

+

 

+

def get_view_description(cls, html=False): 

+

    """ 

+

    Return a description for an `APIView` class or `@api_view` function. 

+

    """ 

+

    description = cls.__doc__ or '' 

+

    description = _remove_leading_indent(description) 

+

    if html: 

+

        return markup_description(description) 

+

    return description 

+

 

+

 

+

def markup_description(description): 

+

    """ 

+

    Apply HTML markup to the given description. 

+

    """ 

+

    if apply_markdown: 

+

        description = apply_markdown(description) 

+

    else: 

+

        description = escape(description).replace('\n', '<br />') 

+

    return mark_safe(description) 

+ +
+
+ + + + + -- cgit v1.2.3