示例#1
0
    def get(self):
        user_info = getUserInfo(self.request.url)

        oldOsageInput = self.request.get("text", "")
        unicodeInput = self.request.get("utext", "")
        latinInput = self.request.get("latintext", "")

        template_values = {
            'lang': Language,
            'lang1': "English",
            'lang2': "Osage Latin",
            'kb1': 'en',
            'kb2': 'osa_dict',
            'osageInput': oldOsageInput,
            'unicodeInput': unicodeInput,
            'latinInput': latinInput,
            'fontFamilies': OsageFonts,
            'user_nickname': user_info[1],
            'user_logout': user_info[2],
            'user_login_url': user_info[3],
            'isAdmin': user_info[4],
            'links': links,
        }
        path = os.path.join(os.path.dirname(__file__), 'osageLatinInput.html')
        self.response.out.write(template.render(path, template_values))
示例#2
0
    def get(self, match=None):
        user_info = getUserInfo(self.request.url)
        user = users.get_current_user()

        adlamText = ''
        for index in (ranges):
            if sys.maxunicode <= 65535:
                # UTF-16: \uD83A\uDD1A
                adlamText += unichr(0xd83a) + unichr(index - 0x1e900 +
                                                     0xDD00) + ' '
            else:
                adlamText += unichr(index) + ' '

        template_values = {
            'fontFamilies': fontList,
            'adlamText': adlamText,
            'links': links,
            'user_nickname': user_info[1],
            'user_logout': user_info[2],
            'user_login_url': user_info[3],
            'editOrAdmin': user_info[4],
            'unicodeFonts': unicode_font_list,
        }
        path = os.path.join(os.path.dirname(__file__), 'index.html')
        self.response.out.write(template.render(path, template_values))
示例#3
0
    def get(self):
        logging.info('games GenerateWordSearchDFSHandler')

        user_info = getUserInfo(self.request.url)
        user = users.get_current_user()
        Language = self.request.get('lang', 'xyz')
        fonts = self.request.get('fonts', 'xyz')

        rawWordList = self.request.get('words', '')

        # Suggested size for the grid
        raw_size = self.request.get('size', '0')
        logging.info('games WordSearchHandler raw_size = >%s<' % raw_size)
        if not raw_size or raw_size is '' or raw_size is ' ':
            grid_width = 0
        else:
            grid_width = int(raw_size)

        # A measure of when to quit the search
        max_tries = self.request.get('max_tries', 1000)
        # How many solutions to generated
        max_solution_count = self.request.get('max_solution_count', 1)

        # logging.info('games WordSearchHandler rawWordList = %s' % rawWordList)

        # Strip out white space.
        wordList = rawWordList.replace(",",
                                       " ").replace("\r",
                                                    " ").replace("\t",
                                                                 " ").split()
        # logging.info('games WordSearchDFS Handler wordList = %s' % wordList)
        logging.info('games WordSearchDFS Handler size = %s' % grid_width)

        ws = wordsearch.generateDFSWordSearch(wordList, grid_width, max_tries,
                                              max_solution_count)

        grid = ws.grid

        if not grid:
            message = 'Cannot create grid'
        else:
            message = 'Created a grid of size %s' % grid_width

        #logging.info('games WordSearchHandler grid = %s' % grid)
        #logging.info('games WordSearchHandler answers = %s' % answers)
        #logging.info('games WordSearchHandler words = %s' % words)

        template_values = {
            'user_nickname': user_info[1],
            'user_logout': user_info[2],
            'user_login_url': user_info[3],
            'language': Language,
            'fontFamilies': fonts,
            'grid': grid,
            'answers': ws.formatAnswers(),
            'words': ws.words,
            'grid_width': ws.size,
            'maxunicode': sys.maxunicode,
        }
        self.response.out.write(json.dumps(template_values))
示例#4
0
    def get(self):
        logging.info('games WordSearchHandler')

        user_info = getUserInfo(self.request.url)
        user = users.get_current_user()
        rawWordList = self.request.get('words', '')
        Language = self.request.get('lang', 'xyz')
        fonts = self.request.get('fonts', 'xyz')

        #wordList = re.findall(r"[\w']+", rawWordList)
        #logging.info('games WordSearchHandler wordList = %s' % wordList)
        #grid, answers, words = wordsearch.generateWordsGrid(wordList)

        #logging.info('games WordSearchHandler grid = %s' % grid)
        #logging.info('games WordSearchHandler answers = %s' % answers)
        #logging.info('games WordSearchHandler words = %s' % words)
        wordData = [
            '𐓷𐓣𐓟𐓣𐓟', '𐓨𐓘𐓻𐓣͘', '𐓷𐓘𐓻𐓘𐓻𐓟', '𐓣𐓟𐓷𐓣͘ ', '𐓰𐓣𐓵𐓟', '𐓡𐓪𐓷𐓟͘𐓤𐓣',
            '𐓯𐓰𐓪͘𐓬𐓘𐓬𐓟', '𐓘̄𐓵𐓣𐓟𐓸𐓟̄𐓛𐓣̄𐓬', '𐓤𐓘𐓮𐓣𐓰𐓘͘', '𐓷𐓘𐓯𐓝𐓣͘𐓧𐓘'
        ]

        template_values = {
            'user_nickname': user_info[1],
            'user_logout': user_info[2],
            'user_login_url': user_info[3],
            'language': Language,
            'fontFamilies': fonts,
            'wordTestData': wordData,
            'maxunicode': sys.maxunicode,
        }
        path = os.path.join(os.path.dirname(__file__), 'wordsearch.html')
        self.response.out.write(template.render(path, template_values))
示例#5
0
    def get(self):
        user_info = getUserInfo(self.request.url)
        user = users.get_current_user()
        #logging.info(' ***** AUTH_DOMAIN = %s' %os.environ.get('AUTH_DOMAIN'))
        logging.info('UUUUU = %s', user)
        if user:
            nickname = user.nickname()
            logout_url = users.create_logout_url('/')
            greeting = 'Welcome, {}! (<a href="{}">sign out</a>)'.format(
                nickname, logout_url)
            login_url = None
        else:
            nickname = None
            logout_url = None
            login_url = users.create_login_url('/')
            greeting = '<a href="{}">Sign in</a>'.format(login_url)

        logging.info('UUUUU greeting = %s', greeting)

        #self.response.write(
        #  '<html><body>{}</body></html>'.format(greeting))

        template_values = {
            'user_nickname': user_info[1],
            'user_logout': user_info[2],
            'user_login_url': user_info[3],
            'language': Language,
            'links': links,
        }
        path = os.path.join(os.path.dirname(__file__), 'login.html')
        self.response.out.write(template.render(path, template_values))
示例#6
0
 def get(self, match=None):
     user = users.get_current_user()
     user_info = getUserInfo(self.request.url)
     template_values = {
         'fontFamilies': unicode_font_list,
         'editOrAdmin': user_info[4],
         'oldFontFamilies': oldFontsList,
         'unicodeFonts': unicode_font_list,
     }
     path = os.path.join(os.path.dirname(__file__), 'convertTest.html')
     self.response.out.write(template.render(path, template_values))
示例#7
0
    def get(self):
        user_info = getUserInfo(self.request.url, self.request.url)
        template_values = {
            'fontFamilies': OsageFonts,
            'language': Language,
            'user_nickname': user_info[1],
            'user_logout': user_info[2],
            'user_login_url': user_info[3],
            'links': links,
        }

        path = os.path.join(os.path.dirname(__file__), 'keyboard_osa.html')
        self.response.out.write(template.render(path, template_values))
示例#8
0
  def get(self):
    logging.info('games CrosswordHandler')

    user_info = getUserInfo(self.request.url)
    user = users.get_current_user()

    template_values = {
      'user_nickname': user_info[1],
      'user_logout': user_info[2],
      'user_login_url': user_info[3],
      'language': main.Language,
      'fontFamilies': main.OsageFonts,
    }
    path = os.path.join(os.path.dirname(__file__), 'crossword.html')
    self.response.out.write(template.render(path, template_values))
示例#9
0
    def get(self, match=None):
        user = users.get_current_user()
        user_info = getUserInfo(self.request.url)

        template_values = {
            'fontFamilies': fontList,
            'user_nickname': user_info[1],
            'user_logout': user_info[2],
            'user_login_url': user_info[3],
            'editOrAdmin': user_info[4],
            'unicodeFonts': unicode_font_list,
            'links': links,
        }
        path = os.path.join(os.path.dirname(__file__),
                            'HTML/demo_general.html')
        self.response.out.write(template.render(path, template_values))
示例#10
0
    def get(self):
        user_info = getUserInfo(self.request.url)
        infile = self.request.get("infile", "")
        outfile = self.request.get("outfile", "")
        template_values = {
            'infile': infile,
            'outfile': outfile,
            'language': Language,
            'user_nickname': user_info[1],
            'user_logout': user_info[2],
            'user_login_url': user_info[3],
            'links': links,
        }

        path = os.path.join(os.path.dirname(__file__), 'osageUpload.html')
        self.response.out.write(template.render(path, template_values))
示例#11
0
  def get(self):
    # upload_url = blobstore.create_upload_url('upload')
    upload_url = '/words/uploadCSV/'

    user_info = getUserInfo(self.request.url)

    #logging.info('$$$$$$$$$ upload_url %s' % upload_url)
    q = words.OsageDbName.all()
    dbNameList = [p.dbName for p in q.run()]
    logging.info('dbNameList = %s' % dbNameList)

    template_values = {
      'language': main.Language,
      'upload_url':upload_url,
      'dbNames': dbNameList,
    }
    path = os.path.join(os.path.dirname(__file__), 'wordsUpload.html')
    self.response.out.write(template.render(path, template_values))
示例#12
0
    def get(self):
        user_info = getUserInfo(self.request.url)
        utext = self.request.get("utext", "")
        osageText = self.request.get("osageText", "")
        template_values = {
            'scriptName': 'Osage',
            'fontFamilies': OsageFonts,
            'osageText': osageText,
            'utext': utext,
            'language': Language,
            'user_nickname': user_info[1],
            'user_logout': user_info[2],
            'user_login_url': user_info[3],
            'links': links,
        }

        path = os.path.join(os.path.dirname(__file__), 'osageFonts.html')
        self.response.out.write(template.render(path, template_values))
示例#13
0
  def get(self):
    user_info = getUserInfo(self.request.url)

    submitType =  self.request.get('deleteDB', '')
    dbName = self.request.get('dbName', '')
    clear = self.request.get('clear', '')
    confirmDelete = self.request.get('confirmDelete', None)
    confirmAdd = self.request.get('confirmAdd', None)
    
    q = words.OsageDbName.all()
    if submitType == "deleteDB" and dbName:
      if not confirmDelete:
        self.response.out.write('Deleting db Name = %s is not confirmed.\n' % dbName)
        return
      # Wipe out DB
      for p in q.run():
        pName = p.dbName
        if dbName == "*ALL*" or dbName == pName:
          words.OsageDbName.delete(p)
          self.response.out.write('Deleted db Name = %s.\n' % dbName)
      return
      
    # No name -> return list of all.
    if not dbName:
      nameList = []
      for p in q.run():
        nameList.append(p.dbName)
      self.response.out.write('db Names = %s.\n' % nameList)
      return

    q.filter("dbName =", dbName)
    result = q.get()
    
    if not confirmAdd:
      self.response.out.write('Adding db Name = %s is not confirmed.\n' % dbName)
      return

    if result:
      self.response.out.write('db Name = %s is already defined.\n' % dbName)
    else:
      entry = words.OsageDbName(dbName=dbName);
      entry.put()
      self.response.out.write('db Name = %s has been added.\n' % dbName)
示例#14
0
    def get(self, match=None):
        user = users.get_current_user()
        user_info = getUserInfo(self.request.url)

        template_values = {
            'testTEMPLATE': '!!!test template!!!',
            'fontFamilies': fontList,
            'adlamText': adlamText,
            'keylayouts': ['ful'],
            'links': links,
            'oldFontFamilies': oldFontsList,
            'user_nickname': user_info[1],
            'user_logout': user_info[2],
            'user_login_url': user_info[3],
            'editOrAdmin': user_info[4],
            'unicodeFonts': unicode_font_list,
        }
        path = os.path.join(os.path.dirname(__file__), 'words.html')
        self.response.out.write(template.render(path, template_values))
示例#15
0
  def get(self):
    user_info = getUserInfo(self.request.url)

    # TODO: Get from request
    oldDbName = ''
    newDbName = 'Approved Words'   
    q = words.OsagePhraseDB.all()
    numEntries = 0
    numReset = 0
    # TODO: repeat until all are reset.
    for p in q.run():
      numEntries += 1
      if p.dbName is None or p.dbName == oldDbName:
        p.dbName = newDbName
        p.put()
        numReset += 1
    # TODO: delete them, with message.
    self.response.out.write('!!! Total DB entries = %d.' % numEntries)
    self.response.out.write('!!! Reset dbname from >%s< to >%s< for %d entries total.' % (
        oldDbName, newDbName, numReset))
示例#16
0
    def get(self):
        #logging.info('games GenerateWordSearchHandler')
        user_info = getUserInfo(self.request.url)
        user = users.get_current_user()
        Language = self.request.get('lang', 'xyz')
        fonts = self.request.get('fonts', 'xyz')

        rawWordList = self.request.get('words', '')
        # logging.info('games WordSearchHandler rawWordList = %s' % rawWordList)

        wordList = rawWordList.replace(",",
                                       " ").replace("\r",
                                                    " ").replace("\t",
                                                                 " ").split()
        # logging.info('games WordSearchHandler wordList = %s' % wordList)

        grid, answers, words, grid_width = wordsearch.generateWordsGrid(
            wordList)

        if not grid:
            message = 'Cannot create grid'
        else:
            message = 'Created a grid of size %s' % grid_width

        #logging.info('games WordSearchHandler grid = %s' % grid)
        #logging.info('games WordSearchHandler answers = %s' % answers)
        #logging.info('games WordSearchHandler words = %s' % words)

        template_values = {
            'user_nickname': user_info[1],
            'user_logout': user_info[2],
            'user_login_url': user_info[3],
            'language': Language,
            'fontFamilies': fonts,
            'grid': grid,
            'answers': answers,
            'words': words,
            'grid_width': grid_width,
            'maxunicode': sys.maxunicode,
        }
        self.response.out.write(json.dumps(template_values))
示例#17
0
    def get(self, match=None):
        user = users.get_current_user()
        user_info = getUserInfo(self.request.url)

        logging.info('PDFFFFFFFF: tryPDFHandler')
        #pdf = FPDF()
        #outfilename = 'testAdlam.pdf'
        #logging.info('  **** pdf obj = %s' % pdf)
        #pdf.add_page()
        #pdf.set_font('Arial', 'B', 16)
        #pdf.cell(40, 10, 'Hello Adlam!')
        #logging.info('  pdf = %s' % pdf)
        #pdf.set_font('Noto Sans Adlam', 'R', 18)
        pdfResult = 'test'
        #pdfResult = pdf.output(outfilename, 'S')
        #pdf.close()
        logging.info('  pdfResult = %s' % pdfResult)
        self.response.headers['Content-Type'] = 'application/pdf'
        self.response.headers[
            'Content-Disposition'] = 'attachment; filename=testAdlam.pdf'
        self.response.out.write(pdfResult)
示例#18
0
    def get(self):
        user_info = getUserInfo(self.request.url)

        app_id = app_identity.get_application_id()
        bucket_name = app_identity.get_default_gcs_bucket_name()

        upload_url = blobstore.create_upload_url('/sound/upload/',
                                                 gs_bucket_name=bucket_name)
        logging.info('CreateAndReadFileHandler bucket_name: %s' % bucket_name)
        logging.info('CreateAndReadFileHandler upload_url: %s' % upload_url)

        selectVoice = self.request.get('selectVoice', '')
        phraseKey = self.request.get('phraseKey', '')
        filename = self.request.get('file', '')

        if phraseKey:
            keyForPhrase = db.Key(encoded=phraseKey)
            logging.info('+++ Key for Phrase = %s' % keyForPhrase)
        else:
            keyForPhrase = None

        result = None
        if keyForPhrase:
            result = db.get(keyForPhrase)
            #logging.info('+++ Got object from key %s' % result)
            #logging.info('  index %d, English = %s' % (result.index, result.englishPhrase))
            #logging.info('            Osage = %s' % (result.osagePhraseUnicode))

        template_values = {
            'language': main.Language,
            'upload_url': upload_url,
            'filename': filename,
            'phraseKey': phraseKey,
            'phrase_record': result,
            'app_id': app_id,
            'voice': selectVoice,
        }
        path = os.path.join(os.path.dirname(__file__), 'addSound.html')
        self.response.out.write(template.render(path, template_values))