コード例 #1
0
ファイル: test_packages.py プロジェクト: steveyen/moingo
 def testBasicPackageThings(self):
     become_superuser(self.request)
     myPackage = DebugPackage(self.request, 'test')
     myPackage.installPackage()
     assert myPackage.msg == u'foo\nFooPage added \n'
     testseite2 = Page(self.request, 'TestSeite2')
     assert testseite2.getPageText() == "Hello world, I am the file testdatei"
     assert testseite2.isUnderlayPage()
コード例 #2
0
ファイル: test_packages.py プロジェクト: imosts/flume
 def testBasicPackageThings(self):
     myPackage = DebugPackage(self.request, 'test')
     myPackage.installPackage()
     self.assertEqual(myPackage.msg, "foo\n")
     testseite2 = Page(self.request, 'TestSeite2')
     self.assertEqual(testseite2.getPageText(), "Hello world, I am the file testdatei")
     self.assert_(testseite2.isUnderlayPage())
     self.assert_(not Page(self.request, 'FooPage').exists())
コード例 #3
0
 def testBasicPackageThings(self):
     become_superuser(self.request)
     myPackage = DebugPackage(self.request, 'test')
     myPackage.installPackage()
     assert myPackage.msg == u'foo\nFooPage added \n'
     testseite2 = Page(self.request, 'TestSeite2')
     assert testseite2.getPageText(
     ) == "Hello world, I am the file testdatei"
     assert testseite2.isUnderlayPage()
コード例 #4
0
ファイル: TagCloud.py プロジェクト: 3100/MoinMacro
def execute(macro, args):

   request = macro.request

   # get params
   if args:
      args = args.split(',')
   else:
      args = []

   kw = {}
   for arg in args :
      if '=' in arg:
         key, value = arg.split('=', 1)
         kw[str(key.strip())] = value.strip()

   try:
      maxTags = int( kw["maxTags"] )
   except (KeyError, ValueError):
      maxTags = 50

   try:
      autoCreate = kw["autoCreate"]
      if autoCreate == "true" or autoCreate == "True":
         autoCreate = True
      else:
         autoCreate = False

   except (KeyError):
      autoCreate = False

   #{level:hits , level:hits , ...}
   level = { 0 : 4 , 1 : 7 , 2 : 12 , 3 : 18 , 4 : 25 , 5 : 35 , 6 : 50 , 7 : 60 , 8 : 90 }

   args = r'regex:((\r)?\n----(\r)?\n[a-zA-Z])'

   # Search the pages
   query = search.QueryParser().parse_query(args)
   results = search.searchPages(request, query)
   pages = [hit.page_name for hit in results.hits]

   tags = []

   for page in pages:
      page = Page(request, page)
      if page.isStandardPage() and not page.isUnderlayPage():
         body = page.get_raw_body()
         match = re.search(r'----(\r)?\n(?P<tags>.*)(\r)?\n', body)
         match = match.group('tags')
         match = match.split(',')
         for tag in match:
            tags.insert(0, (str(tag)).strip())

   taglist = []
   taglist = list(frozenset(tags))

   def sort(t):
      return t[1]

   show = []
   for tag in taglist:
      show.append( (tag, tags.count(tag)) )
   show.sort(key=sort, reverse=True)
   show = show[0:maxTags]
   show.sort()

   html = []

   for tag in show:

      pagename = tag[0]
      hits = tag[1]

      # auto create tag page if not exist
      if autoCreate:
         page = Page(request, pagename)
         if page.isStandardPage(includeDeleted=False) == False and page.isUnderlayPage() == False:

            from MoinMoin.security import Permissions
            class SecurityPolicy(Permissions):
               def write(*args, **kw):
                  return True
               def save(*args, **kw):
                  return True
            request.user.may = SecurityPolicy(request.user)

            PageEditor(request, pagename).saveText(ur"[[FullSearch(regex:(-{4}(\r)?\n(.*)%s))]]"%(tag[0]), 0)

      #level0
      if hits < level[0]:
         html.append(u'<span  style="font-size:0.65em;"><a href="%s"> %s</a></span>'%(pagename, tag[0]))
      #level1
      elif hits < level[1]:
         html.append(u'<span  style="font-size:0.75em;"><a href="%s"> %s</a></span>'%(pagename, tag[0]))
      #level2
      elif hits < level[2]:
         html.append(u'<span  style="font-size:0.9em;"><a href="%s"> %s</a></span>'%(pagename, tag[0]))
      #level3
      elif hits < level[3]:
         html.append(u'<span  style="font-size:1.0em;"><a href="%s"> %s</a></span>'%(pagename, tag[0]))
      #level4
      elif hits < level[4]:
         html.append(u'<span  style="font-size:1.05em;"><a href="%s"> %s</a></span>'%(pagename, tag[0]))
      #level5
      elif hits < level[5]:
         html.append(u'<span  style="font-size:1.1em;"><a href="%s"> %s</a></span>'%(pagename, tag[0]))
      #level6
      elif hits < level[6]:
         html.append(u'<span  style="font-size:1.15em;"><a href="%s"> %s</a></span>'%(pagename, tag[0]))
      #level7
      elif hits < level[7]:
         html.append(u'<span  style="font-size:1.2em;"><a href="%s"> %s</a></span>'%(pagename, tag[0]))
      #level8
      elif hits < level[8]:
         html.append(u'<span  style="font-size:1.25em;"><a href="%s"> %s</a></span>'%(pagename, tag[0]))
      #level9
      else:
         html.append(u'<span  style="font-size:1.3em;"><a href="%s"> %s</a></span>'%(pagename, tag[0]))

   return ''.join(html)
コード例 #5
0
 def filter(name):
     page = Page(self.request, name)
     return (page.isStandardPage(includeDeleted=0) and
             page.isUnderlayPage(includeDeleted=0))
コード例 #6
0
ファイル: CategoryCloud.py プロジェクト: 3100/MoinMacro
    #{level:hits , level:hits , ...}
    level = {0: 4, 1: 7, 2: 12, 3: 18, 4: 25, 5: 35, 6: 50, 7: 60, 8: 90}

    #fetch all pages, except underlays
    pages = request.rootpage.getPageList(exists=1, include_underlay=False, )
    if not pages:
        errorMsg.append(fmt.div(True, css_class="error"))
        errorMsg.append(_("No pages exist or you have not enough rights to view them"))
        errorMsg.append(fmt.div(False))
        return ''.join(errorMsg)

    #find CategoryFoo tags and count them

    for page in pages:
        page = Page(request, page)
        if page.isStandardPage() and not page.isUnderlayPage():
            body = page.get_raw_body()
            #match = re.search(ur'----(\r)?\n(.*)(?P<all>' + categoryKey + ur'(?P<category>\S+))', body)
            match = re.search(ur'(?m)(^-----*\s*\r?\n)(^##.*\r?\n)*^(?!##)(.*)(?P<all>' + categoryKey + ur'(?P<category>[^ \s\]]+))', body)
            if match == None:
                continue
            match = match.group('category')
            match = match.split(tagSplit)
            for tag in match:
                tags.insert(0, (str(tag.encode('utf8'))).strip())
    taglist = list(frozenset(tags))

    #sorting the taglist and output as show
    def sort(t):
        return t[1]
コード例 #7
0
ファイル: EditedSystemPages.py プロジェクト: aahlad/soar
 def filterfn(name):
     page = Page(self.request, name)
     return (page.isStandardPage(includeDeleted=0) and
             page.isUnderlayPage(includeDeleted=0))