Hide keyboard shortcuts

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

# -*- coding: UTF-8 -*- 

# Copyright 2013-2014 Luc Saffre 

# License: BSD (see file COPYING for details) 

 

""" 

""" 

from builtins import str 

from builtins import object 

 

import logging 

logger = logging.getLogger(__name__) 

 

import os 

 

from django.utils import translation 

 

from lino.sphinxcontrib.actordoc import Lino2rstDirective 

 

from lino.core import actors 

 

 

class ScreenshotDirective(Lino2rstDirective): 

 

    def get_rst(self): 

        assert len(self.content) == 0 

        assert len(self.arguments) == 1 

        ss = SCREENSHOTS[self.arguments[0]] 

        return "\n\n.. image:: %s\n\n" % ss.get_filename(translation.get_language()) 

 

 

def get_screenshots(language): 

    #~ print 20130515, profiles2user.values() 

    #~ print 20130515, actors.actors_list 

    for actor in actors.actors_list:  # dbtables.master_reports: 

            for ar in actor.get_screenshot_requests(language): 

                yield Screenshot(ar) 

 

 

class Screenshot(object): 

    #~ def __init__(self,name,url,username=None): 

 

    def __init__(self, ar): 

        if ar.bound_action is not ar.actor.default_action: 

            name = ar.bound_action.full_name() 

        else: 

            name = str(ar.actor) 

        self.name = name 

        #~ self.url = url 

        #~ self.username = username 

        self.ar = ar 

        self.language = ar.get_user().language 

 

    def get_filename(self, root): 

        return os.path.join(root, self.language, '%s.jpg' % self.name) 

 

    def get_url(self, urlbase, *args, **kw): 

        #~ kw[constants.URL_PARAM_USER_LANGUAGE] = self.language 

        if self.ar.bound_action.action.action_name == 'detail': 

            if len(args) == 0: 

                try: 

                    args = [str(iter(self.ar).next().pk)] 

                except StopIteration: 

                    return None 

        return urlbase + self.ar.get_request_url(*args, **kw) 

        #~ return '%s%s?ul=%s' % (root,url,self.language.django_code) 

 

#~ def register_screenshot(*args,**kw): 

    #~ ss = Screenshot(*args,**kw) 

    #~ SCREENSHOTS[ss.name] = ss 

    #~ return ss 

 

 

def setup(app): 

    app.add_directive('screenshot', ScreenshotDirective)