Пример #1
0
 def get(self, num):
     if num.isnumeric():          
         num = int(num)
         if num > config['CACHING_UPPER_LIMIT']:
             return helper.handle_invalid_usage(config['CACHE_LIMIT_EXCEEDED_ERROR'], config['CACHE_LIMIT_EXCEEDED_CODE'],config)
         elif num < 0:
             return helper.handle_invalid_usage(config['NEGATIVE_VALUE_ERROR'], config['NEGATIVE_CODE'],config)
         elif config['CACHE_ENABLE'] and num > config['LOWER_LIMIT_FOR_CACHING']:
             cachelist = os.listdir(config['CACHE_DIRECTORY'])
             if len(cachelist) > 0:
             #elif num < max(cachelist):
               if num in cachelist:
                  res = Fibonacci().fibofetchFromCache(num,num)
                  return helper.handle_success(res,config['SUCCESS_CODE'], config)
               else:
                  templist = map(int,cachelist)
                  templist.append(num)
                  templist.sort()
                  ifound = templist.index(num)
                  if ifound+1 < len(templist):
                     idealCacheFile = templist[ifound+1]
                     res = Fibonacci().fibofetchFromCache(num,idealCacheFile)
                     return helper.handle_success(res,config['SUCCESS_CODE'], config) 
                  else:
                     idealCacheFile = None
                     res = Fibonacci().fiboGen(num)
                     return helper.handle_success(res,config['SUCCESS_CODE'], config) 
             else:
                res = Fibonacci().fiboGen(num)
                return helper.handle_success(res,config['SUCCESS_CODE'], config)
         else:
           print "caching not necessary"
           res = Fibonacci().fiboGen(num)
           return helper.handle_success(res,config['SUCCESS_CODE'], config)
     else:
       return helper.handle_invalid_usage(config['NEGATIVE_VALUE_ERROR'], config['NEGATIVE_CODE'], config )
Пример #2
0
 def get(self):
    return helper.handle_invalid_usage(config['NUMERIC_ONLY_ERROR'], config['NEGATIVE_CODE'], config)