コード例 #1
0
ファイル: account.py プロジェクト: zedoul/storyengine-gae
	def post(self):
		if False == (USER_AGENT in self.request.headers["User-Agent"]):
			self.response.out.write(json.dumps({'success':False}))
			return

		self.response.headers['Content-Type'] = 'application/json'
		facebookid = self.request.get('facebookid')
		account = Account.get_by_facebookid(facebookid)
		params = {}
		params['money'] = self.request.get('money')
		params['candy'] = self.request.get('candy')
		params['score'] = self.request.get('score')
		params['maxscore'] = self.request.get('maxscore')
		params['id'] = self.request.get('id')
		logging.info('coin[%d] candy[%d] score[%d] max[%d]',
				int(params['money']),
				int(params['candy']),
				int(params['score']),
				int(params['maxscore']))
		ret = Account.api_submit(params,account)
#		params['cost'] = self.request.get('candy')
#		params['itemcost'] = self.request.get('money')
#		params['receipt_type'] = 'play'
#		Receipt.new(params,account)
		self.response.headers['Content-Type'] = 'application/json'
		self.response.out.write(json.dumps(ret))
コード例 #2
0
ファイル: apitest.py プロジェクト: zedoul/storyengine-gae
 def post(self):
     accountid = self.session.get('accountid')
     account = Account.get_by_accountid(accountid)
     testcode = self.request.get('testcode')
     assert (testcode)
     d = json.loads(testcode)
     assert (d)
     det = Account.api_gift(d['coin'], d['candy'], account)
     self.redirect(self.request.url + 'input?result=' + str(det))
コード例 #3
0
ファイル: apitest.py プロジェクト: zedoul/storyengine-gae
	def post(self):
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		testcode = self.request.get('testcode')
		assert(testcode)
		d = json.loads(testcode)
		assert(d)
		det = Account.api_gift(d['coin'],d['candy'],account)
		self.redirect(self.request.url + 'input?result='+str(det))
コード例 #4
0
 def post(self):
     name_ = self.request.get('name')
     facebookID_ = self.request.get('facebookID')
     ret = Account.api_login(name=name_,
                             facebookid=facebookID_,
                             access_token="asdf",
                             expiration_date_="2013-03-23 13:53:39")
     account = Account.get_by_facebookid(facebookID_)
     keyid = str(account.key().name())
     self.session['accountid'] = keyid
     context = {'static_path': STATIC_PATH, 'accountid': keyid}
     self.redirect("/")
コード例 #5
0
ファイル: apitest.py プロジェクト: zedoul/storyengine-gae
    def post(self):
        accountid = self.session.get('accountid')
        account = Account.get_by_accountid(accountid)
        if 1 != account.mod:
            return

        testcode = self.request.get('testcode')
        assert (testcode)
        d = json.loads(testcode)
        assert (d)
        det = Account.api_read(d['facebookid'])
        self.redirect(self.request.url + 'input?result=' + str(det))
コード例 #6
0
ファイル: apitest.py プロジェクト: zedoul/storyengine-gae
	def post(self):
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return

		testcode = self.request.get('testcode')
		assert(testcode)
		d = json.loads(testcode)
		assert(d)
		det = Account.api_read(d['facebookid'])
		self.redirect(self.request.url + 'input?result='+str(det))
コード例 #7
0
ファイル: apitest.py プロジェクト: zedoul/storyengine-gae
	def post(self):
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return

		testcode = self.request.get('testcode')
		assert(testcode)
		d = json.loads(testcode)
		assert(d)
		exp_date = None
		det = Account.api_login(d['facebookid'],d['access_token'],exp_date,d['name'])
		self.redirect(self.request.url + 'input?result='+str(det))
コード例 #8
0
ファイル: apitest.py プロジェクト: zedoul/storyengine-gae
    def post(self):
        accountid = self.session.get('accountid')
        account = Account.get_by_accountid(accountid)
        if 1 != account.mod:
            return

        testcode = self.request.get('testcode')
        assert (testcode)
        d = json.loads(testcode)
        assert (d)
        exp_date = None
        det = Account.api_login(d['facebookid'], d['access_token'], exp_date,
                                d['name'])
        self.redirect(self.request.url + 'input?result=' + str(det))
コード例 #9
0
    def post(self):  #logout
        accountid = self.session.get('accountid')
        account_ = Account.get_by_accountid(accountid)
        towhom_ = None
        try:
            towhom_ = Account.get_by_accountid(int(towhomID))
        except:
            towhom_ = None
        params = {}
        params['dataID'] = self.request.get('dataID')
        params['cost'] = self.request.get('cost')
        params['receipt_type'] = self.request.get('receipt_type')

        Receipt.new(params, account_, towhom_)
        self.redirect('/' + accountid + '/')
コード例 #10
0
ファイル: receipt.py プロジェクト: zedoul/storyengine-gae
	def post(self): #logout
		accountid = self.session.get('accountid')
		account_ = Account.get_by_accountid(accountid)
		towhom_ = None
		try:
			towhom_ = Account.get_by_accountid(int(towhomID))
		except:
			towhom_ = None
		params = {}
		params['dataID'] = self.request.get('dataID')
		params['cost'] = self.request.get('cost')
		params['receipt_type'] = self.request.get('receipt_type')

		Receipt.new(params,account_,towhom_)
		self.redirect('/'+accountid+'/')
コード例 #11
0
ファイル: account.py プロジェクト: zedoul/storyengine-gae
	def post(self):
		name_ = self.request.get('name')
		facebookID_ = self.request.get('facebookID')
		ret = Account.api_login(
					name=name_,
					facebookid =facebookID_,
					access_token ="asdf",
					expiration_date_ = "2013-03-23 13:53:39"
					)
		account = Account.get_by_facebookid(facebookID_)
		keyid = str(account.key().name())
		self.session['accountid'] = keyid
		context = {'static_path': STATIC_PATH,
			'accountid':keyid}
		self.redirect("/")
コード例 #12
0
    def post(self):  #logout
        if False == (USER_AGENT in self.request.headers["User-Agent"]):
            self.response.out.write(json.dumps({'success': False}))
            return

        facebookid = self.request.get('facebookid')
        account_ = Account.get_by_facebookid(facebookid)
        towhom_ = None
        try:
            towhom_ = Account.get_by_accountid(towhomID)
        except:
            towhom_ = None
        params = {}
        params['id'] = 0
        params['itemcost'] = 0
        params['cost'] = self.request.get('cost')
        params['receipt_type'] = self.request.get('receipt_type')
        if "money" == params['receipt_type']:
            params['receipt_data'] = self.request.get('receipt_data')
            logging.info('receipt_data [%s]', params['receipt_data'])
            receipt_data = params['receipt_data']
            receipt_hash = str(hashlib.md5(str(receipt_data)).hexdigest())

            result = Receipt.all().filter("receipt_hash =", receipt_hash)
            if result != None and result.count(
            ) > 0 and result[0].receipt_hash == receipt_hash:
                logging.error('Err! id:[%s] prev existed:[%s]', facebookid,
                              result[0])
            else:
                postdata = {}
                postdata['receipt-data'] = params['receipt_data']
                http = urllib3.PoolManager()
                r = http.request('POST',
                                 'https://buy.itunes.apple.com/verifyReceipt',
                                 fields=postdata)
                #				r = http.request('POST','https://sandbox.itunes.apple.com/verifyReceipt',
                #					fields=postdata)
                t = json.loads(r.data)
                if 0 != int(t['status']):
                    logging.error('ID:[%s] cost:[%s] status:[%s]',
                                  str(facebookid), str(params['cost']),
                                  str(t['status']))
                    return self.response.out.write(
                        json.dumps({'success': False}))

        ret = Receipt.new(params, account_, towhom_)
        self.response.headers['Content-Type'] = 'application/json'
        self.response.out.write(json.dumps(ret))
コード例 #13
0
ファイル: story.py プロジェクト: zedoul/storyengine-gae
	def get(self):
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return
		if None is accountid:
			context = {'static_path': STATIC_PATH,
			'APP_TITLE' : APP_TITLE,
			'err_msg':"You should login"}
			self.render_to_response('err_page.html',context)
			return
		keytodel = self.request.get('del')
		stories = Story.all()
		stories.order('-created')
		storylist = []
		for story in stories:
			story.keyname = str(story.key().id())
			storylist.append(story)
		storysortedlist = sorted(storylist, key=lambda p: p.index)
		context = {'static_path': STATIC_PATH,
			'APP_TITLE' : APP_TITLE,
			'stories':storysortedlist,
			'keytodel':keytodel,
			'size':len(storylist)}
		self.render_to_response('story_index.html',context)
コード例 #14
0
ファイル: apitest.py プロジェクト: zedoul/storyengine-gae
	def get(self):
		result = self.request.get('result')
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return
		f_data = {
			'testcode':
			'{"id":"4","lang":"ko"}'
		}
		s_form = APIForm(f_data)

		cinput = "/app/story/%d?lang=%s"
		coutput = """success={success=True,
		id=%s(key_id),index=%d,version=%d,visible=%d,
		expiration_date=%d,
		lang=%s,name=%s,description=%s,
		price=%d,main_categoryid=%s(key_name),
		pages=[%d(key_id),%d,%d,%d],
		purchased=True/False,
		}
		error={success=False,error='the reason of error',
		id=%s(key_id),
		}
		"""
		context = {'static_path': STATIC_PATH,
			'input':cinput,
			'output':coutput,
			'result':result,
			'form':s_form}
		self.render_to_response('apitest_index.html',context)
コード例 #15
0
ファイル: apitest.py プロジェクト: zedoul/storyengine-gae
	def get(self):
		result = self.request.get('result')
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return
		f_data = {
			'testcode':
			'{"id":"5","lang":"ko","tostudy":"en"}'
		}
		s_form = APIForm(f_data)

		cinput = "/app/content/%d?lang=%s&tostudy=%s"
		coutput = """success={success=True,
		id=%s(key_id),index=%d,version=%d,visible=%d,
		expiration_date=%d,
		lang=%s,name=%s,description=%s,
		price=%d,
		part=%s,
		tran={
			lang=%s,name=%s,description=%s,
		},
		}
		error={success=False,error='the reason of error',
		id=%s(key_id),
		}
		"""
		context = {'static_path': STATIC_PATH,
			'input':cinput,
			'output':coutput,
			'result':result,
			'form':s_form}
		self.render_to_response('apitest_index.html',context)
コード例 #16
0
ファイル: apitest.py プロジェクト: zedoul/storyengine-gae
    def get(self):
        result = self.request.get('result')
        accountid = self.session.get('accountid')
        account = Account.get_by_accountid(accountid)
        if 1 != account.mod:
            return
        f_data = {'testcode': '{"id":"5","lang":"ko","tostudy":"en"}'}
        s_form = APIForm(f_data)

        cinput = "/app/content/%d?lang=%s&tostudy=%s"
        coutput = """success={success=True,
		id=%s(key_id),index=%d,version=%d,visible=%d,
		expiration_date=%d,
		lang=%s,name=%s,description=%s,
		price=%d,
		part=%s,
		tran={
			lang=%s,name=%s,description=%s,
		},
		}
		error={success=False,error='the reason of error',
		id=%s(key_id),
		}
		"""
        context = {
            'static_path': STATIC_PATH,
            'input': cinput,
            'output': coutput,
            'result': result,
            'form': s_form
        }
        self.render_to_response('apitest_index.html', context)
コード例 #17
0
ファイル: apitest.py プロジェクト: zedoul/storyengine-gae
    def get(self):
        accountid = self.session.get('accountid')
        account = Account.get_by_accountid(accountid)
        if 1 != account.mod:
            return

        result = self.request.get('result')
        f_data = {
            'testcode':
            '{"facebookid":"1232","access_token":"assdf","name":"myname"}'
        }
        s_form = APIForm(f_data)
        cinput = "/app/account/login?facebookid=%s&access_token=%s&name=%s"
        coutput = """[
			id=%s
			success=True/False
			created=True/False
		]"""
        context = {
            'static_path': STATIC_PATH,
            'input': cinput,
            'output': coutput,
            'result': result,
            'form': s_form
        }
        self.render_to_response('apitest_index.html', context)
コード例 #18
0
ファイル: apitest.py プロジェクト: zedoul/storyengine-gae
    def get(self):
        result = self.request.get('result')
        accountid = self.session.get('accountid')
        account = Account.get_by_accountid(accountid)
        if 1 != account.mod:
            return
        f_data = {'testcode': '{"id":"4","lang":"ko"}'}
        s_form = APIForm(f_data)

        cinput = "/app/story/%d?lang=%s"
        coutput = """success={success=True,
		id=%s(key_id),index=%d,version=%d,visible=%d,
		expiration_date=%d,
		lang=%s,name=%s,description=%s,
		price=%d,main_categoryid=%s(key_name),
		pages=[%d(key_id),%d,%d,%d],
		purchased=True/False,
		}
		error={success=False,error='the reason of error',
		id=%s(key_id),
		}
		"""
        context = {
            'static_path': STATIC_PATH,
            'input': cinput,
            'output': coutput,
            'result': result,
            'form': s_form
        }
        self.render_to_response('apitest_index.html', context)
コード例 #19
0
ファイル: story.py プロジェクト: zedoul/storyengine-gae
 def get(self):
     accountid = self.session.get('accountid')
     account = Account.get_by_accountid(accountid)
     if 1 != account.mod:
         return
     if None is accountid:
         context = {
             'static_path': STATIC_PATH,
             'APP_TITLE': APP_TITLE,
             'err_msg': "You should login"
         }
         self.render_to_response('err_page.html', context)
         return
     keytodel = self.request.get('del')
     stories = Story.all()
     stories.order('-created')
     storylist = []
     for story in stories:
         story.keyname = str(story.key().id())
         storylist.append(story)
     storysortedlist = sorted(storylist, key=lambda p: p.index)
     context = {
         'static_path': STATIC_PATH,
         'APP_TITLE': APP_TITLE,
         'stories': storysortedlist,
         'keytodel': keytodel,
         'size': len(storylist)
     }
     self.render_to_response('story_index.html', context)
コード例 #20
0
ファイル: page.py プロジェクト: zedoul/storyengine-gae
	def get(self):
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return
		mode = self.request.get('mode')
		keytodel = self.request.get('del')
		if 'all' == mode:
			pages = Page.all().order('-created')
		else:
			pages = Page.all().order('-created').fetch(limit=5)
		pagelist = []
		Next = namedtuple("Next", "pageid contentid")
		for page in pages:
			page.keyname = str(page.key().id())
			if page.contents.count() > 0: #content at foremost 
				page.content = page.contents[0].content
				page.content.keyid = page.content.key().id()
			childlist = []
			for l in page.childs:
				if l.child_page.contents.count() > 0:
					n = Next(l.child_page.key().id(), l.child_page.contents[0].content.key().id())
					childlist.append(n)
			page.childlist = childlist
			pagelist.append(page)
		context = {'static_path': STATIC_PATH,
			'APP_TITLE' : APP_TITLE,
			'pages':pagelist,
			'keytodel':keytodel,
			'size':len(pagelist)}
		self.render_to_response('page_index.html',context)
コード例 #21
0
def test_category_new():
    facebookid = "*****@*****.**"
    account = Account.get_by_facebookid(facebookid)
    key_name = "TOEIC"
    category = Category.new(key_name, account)
    assert None != category
    return
コード例 #22
0
def test_category_new():
	facebookid = "*****@*****.**"
	account = Account.get_by_facebookid(facebookid)
	key_name = "TOEIC"
	category = Category.new(key_name,account)
	assert None != category
	return
コード例 #23
0
ファイル: page.py プロジェクト: zedoul/storyengine-gae
    def post(self, pageid):
        accountid = self.session.get('accountid')
        account = Account.get_by_accountid(accountid)
        if 1 != account.mod:
            return

        contentlist = []
        contentid = self.request.get('contentid')
        nameen = self.request.get('nameen')
        nameko = self.request.get('nameko')

        if "" != contentid:
            i = Content.get_by_id(int(contentid))
            i.keyid = i.key().id()
            contentlist.append(i)
        elif "" != nameen:
            result = Content.all().filter("nameen =", nameen)
            for i in result:
                i.keyid = i.key().id()
                contentlist.append(i)
        elif "" != nameko:
            result = Content.all().filter("nameko =", nameko)
            for i in result:
                i.keyid = i.key().id()
                contentlist.append(i)

        context = {
            'static_path': STATIC_PATH,
            'APP_TITLE': APP_TITLE,
            'contents': contentlist,
            'pageid': pageid,
        }
        self.render_to_response('page_content_search.html', context)
コード例 #24
0
ファイル: page.py プロジェクト: zedoul/storyengine-gae
 def get(self):
     accountid = self.session.get('accountid')
     account = Account.get_by_accountid(accountid)
     if 1 != account.mod:
         return
     mode = self.request.get('mode')
     keytodel = self.request.get('del')
     if 'all' == mode:
         pages = Page.all().order('-created')
     else:
         pages = Page.all().order('-created').fetch(limit=5)
     pagelist = []
     Next = namedtuple("Next", "pageid contentid")
     for page in pages:
         page.keyname = str(page.key().id())
         if page.contents.count() > 0:  #content at foremost
             page.content = page.contents[0].content
             page.content.keyid = page.content.key().id()
         childlist = []
         for l in page.childs:
             if l.child_page.contents.count() > 0:
                 n = Next(l.child_page.key().id(),
                          l.child_page.contents[0].content.key().id())
                 childlist.append(n)
         page.childlist = childlist
         pagelist.append(page)
     context = {
         'static_path': STATIC_PATH,
         'APP_TITLE': APP_TITLE,
         'pages': pagelist,
         'keytodel': keytodel,
         'size': len(pagelist)
     }
     self.render_to_response('page_index.html', context)
コード例 #25
0
ファイル: account.py プロジェクト: zedoul/storyengine-gae
	def post(self):
		if False == (USER_AGENT in self.request.headers["User-Agent"]):
			self.response.out.write(json.dumps({'success':False}))
			return

		self.response.headers['Content-Type'] = 'application/json'
		facebookID = self.request.get('facebookid')
		name = self.request.get('name')
		access_token = self.request.get('access_token')
		expiration_date = self.request.get('expiration_date')
		logging.info('id[%s] name[%s]',facebookID, name)

		if "" == access_token:
			access_token = None
		if "" == expiration_date:
			expiration_date = None
		if None == facebookID :
			ret = {}
			ret['err'] = 'facebookid'
			self.response.out.write(json.dumps(ret))
			return
		if None == name :
			ret = {}
			ret['err'] = 'name'
			self.response.out.write(json.dumps(ret))
			return
		ret = Account.api_login(facebookID,access_token,expiration_date,name)
		if None != ret['id']:
			del ret['id']
		ret['id'] = facebookID
		self.response.out.write(json.dumps(ret))
コード例 #26
0
    def post(self):
        if False == (USER_AGENT in self.request.headers["User-Agent"]):
            self.response.out.write(json.dumps({'success': False}))
            return

        self.response.headers['Content-Type'] = 'application/json'
        facebookid = self.request.get('facebookid')
        name = self.request.get('name')
        thumb = self.request.get('thumb')
        account = Account.get_by_facebookid(facebookid)
        params = {}
        params['name'] = self.request.get('name')
        #		params['thumb'] = self.request.get('thumb')
        ret = Account.api_update(params, account)
        self.response.headers['Content-Type'] = 'application/json'
        self.response.out.write(json.dumps(ret))
コード例 #27
0
 def get(self):
     accountid = self.session.get('accountid')
     account = Account.get_by_accountid(accountid)
     if 1 != account.mod:
         return
     mode = self.request.get('mode')
     keytodel = self.request.get('del')
     contents = None
     if 'all' == mode:
         contents = Content.all().order('-created')
     elif 'less' == mode:
         contents = Content.all().order('-created').fetch(limit=5)
     else:
         contents = []
     contentlist = []
     for content in contents:
         content.keyid = str(content.key().id())
         contentlist.append(content)
     context = {
         'static_path': STATIC_PATH,
         'APP_TITLE': APP_TITLE,
         'size': len(contentlist),
         'keytodel': keytodel,
         'contents': contentlist
     }
     self.render_to_response('content_index.html', context)
コード例 #28
0
ファイル: account.py プロジェクト: zedoul/storyengine-gae
	def post(self):
		if False == (USER_AGENT in self.request.headers["User-Agent"]):
			self.response.out.write(json.dumps({'success':False}))
			return

		self.response.headers['Content-Type'] = 'application/json'
		facebookid = self.request.get('facebookid')
		name = self.request.get('name')
		thumb = self.request.get('thumb')
		account = Account.get_by_facebookid(facebookid)
		params = {}
		params['name'] = self.request.get('name')
#		params['thumb'] = self.request.get('thumb')
		ret = Account.api_update(params,account)
		self.response.headers['Content-Type'] = 'application/json'
		self.response.out.write(json.dumps(ret))
コード例 #29
0
    def post(self):
        if False == (USER_AGENT in self.request.headers["User-Agent"]):
            self.response.out.write(json.dumps({'success': False}))
            return

        self.response.headers['Content-Type'] = 'application/json'
        facebookID = self.request.get('facebookid')
        name = self.request.get('name')
        access_token = self.request.get('access_token')
        expiration_date = self.request.get('expiration_date')
        logging.info('id[%s] name[%s]', facebookID, name)

        if "" == access_token:
            access_token = None
        if "" == expiration_date:
            expiration_date = None
        if None == facebookID:
            ret = {}
            ret['err'] = 'facebookid'
            self.response.out.write(json.dumps(ret))
            return
        if None == name:
            ret = {}
            ret['err'] = 'name'
            self.response.out.write(json.dumps(ret))
            return
        ret = Account.api_login(facebookID, access_token, expiration_date,
                                name)
        if None != ret['id']:
            del ret['id']
        ret['id'] = facebookID
        self.response.out.write(json.dumps(ret))
コード例 #30
0
ファイル: page.py プロジェクト: zedoul/storyengine-gae
	def post(self,pageid):
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return

		contentlist = []
		contentid = self.request.get('contentid')
		nameen = self.request.get('nameen')
		nameko = self.request.get('nameko')

		if "" != contentid:
			i = Content.get_by_id(int(contentid))
			i.keyid = i.key().id()
			contentlist.append(i)
		elif "" != nameen:
			result = Content.all().filter("nameen =",nameen)
			for i in result :
				i.keyid = i.key().id()
				contentlist.append(i)
		elif "" != nameko:
			result = Content.all().filter("nameko =",nameko)
			for i in result :
				i.keyid = i.key().id()
				contentlist.append(i)

		context = {'static_path': STATIC_PATH,
			'APP_TITLE' : APP_TITLE,
			'contents':contentlist,
			'pageid':pageid,
		}
		self.render_to_response('page_content_search.html',context)
コード例 #31
0
ファイル: test_story.py プロジェクト: zedoul/storyengine-gae
def test_story_new():
	facebookid = "*****@*****.**"
	account = Account.get_by_facebookid(facebookid)
	assert account
	story = Story.new(account)
	story.put()
	assert story
	return story
コード例 #32
0
ファイル: content.py プロジェクト: zedoul/storyengine-gae
	def get(self,contentid):
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return
		content = Content.get_by_id(int(contentid))
		content.delete()
		self.redirect('/content')
コード例 #33
0
 def get(self, contentid):
     accountid = self.session.get('accountid')
     account = Account.get_by_accountid(accountid)
     if 1 != account.mod:
         return
     content = Content.get_by_id(int(contentid))
     content.delete()
     self.redirect('/content')
コード例 #34
0
def test_story_new():
    facebookid = "*****@*****.**"
    account = Account.get_by_facebookid(facebookid)
    assert account
    story = Story.new(account)
    story.put()
    assert story
    return story
コード例 #35
0
ファイル: account.py プロジェクト: zedoul/storyengine-gae
	def get(self):
		if False == (USER_AGENT in self.request.headers["User-Agent"]):
			self.response.out.write(json.dumps({'success':False}))
			return

		facebookid = self.request.get('facebookid')
		ret = Account.api_read(facebookid)
		self.response.headers['Content-Type'] = 'application/json'
		self.response.out.write(json.dumps(ret))
コード例 #36
0
    def get(self):
        if False == (USER_AGENT in self.request.headers["User-Agent"]):
            self.response.out.write(json.dumps({'success': False}))
            return

        facebookid = self.request.get('facebookid')
        ret = Account.api_read(facebookid)
        self.response.headers['Content-Type'] = 'application/json'
        self.response.out.write(json.dumps(ret))
コード例 #37
0
    def get(self):
        accountid = self.session.get('accountid')
        account = Account.get_by_accountid(accountid)
        if 1 != account.mod:
            return

        s_form = ReceiptInfoForm(None)
        context = {'static_path': STATIC_PATH, 'form': s_form}
        self.render_to_response('form.html', context)
コード例 #38
0
ファイル: account.py プロジェクト: zedoul/storyengine-gae
	def get(self):
		facebookid = self.request.get("img_id")
		account = Account.get_by_facebookid(str(facebookid))
		assert(account)
		if account.thumbnail:
			self.response.headers['Content-Type'] = "image/jpg"
			self.response.out.write(images.resize(account.thumbnail,50,50))
		else:
			self.response.out.write("no image")
コード例 #39
0
 def get(self):
     facebookid = self.request.get("img_id")
     account = Account.get_by_facebookid(str(facebookid))
     assert (account)
     if account.thumbnail:
         self.response.headers['Content-Type'] = "image/jpg"
         self.response.out.write(images.resize(account.thumbnail, 50, 50))
     else:
         self.response.out.write("no image")
コード例 #40
0
ファイル: category.py プロジェクト: zedoul/storyengine-gae
 def get(self, categoryid):
     accountid = self.session.get('accountid')
     account = Account.get_by_accountid(accountid)
     if 1 != account.mod:
         return
     lang = self.request.get('lang')
     category = Category.getter(categoryid)
     category.support_tostudy_del(lang)
     category.put()
     self.redirect('/category/' + categoryid)
コード例 #41
0
ファイル: category.py プロジェクト: zedoul/storyengine-gae
	def get(self,categoryid):
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return
		lang = self.request.get('lang')
		category = Category.getter(categoryid)
		category.support_tostudy_del(lang)
		category.put()
		self.redirect('/category/'+categoryid)
コード例 #42
0
ファイル: story.py プロジェクト: zedoul/storyengine-gae
 def get(self, storyid, pageid):
     accountid = self.session.get('accountid')
     account = Account.get_by_accountid(accountid)
     if 1 != account.mod:
         return
     page = Page.get_by_id(int(pageid))
     for link in page.contents:
         link.delete()
     page.delete()
     self.redirect("/story/" + storyid)
コード例 #43
0
ファイル: apitest.py プロジェクト: zedoul/storyengine-gae
 def post(self):
     testcode = self.request.get('testcode')
     accountid = self.session.get('accountid')
     account = Account.get_by_accountid(accountid)
     if 1 != account.mod:
         return
     d = json.loads(testcode)
     assert (d)
     det = Story.api_purchase(d['id'], accountid)
     self.redirect(self.request.url + 'input?result=' + str(det))
コード例 #44
0
ファイル: story.py プロジェクト: zedoul/storyengine-gae
	def post(self,keyid): #logout
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		story_ = Story.get_by_id(int(keyid))
		page = Page.new(account,story_)
		pageid = int(self.request.get('pageid'))
		pageToImport = Page.get_by_id(int(pageid))
		for link in pageToImport.contents:
			PageContentLink.new(page,link.content)
		self.redirect('/story/'+keyid)
コード例 #45
0
ファイル: page.py プロジェクト: zedoul/storyengine-gae
    def get(self, pageid, contentid):
        accountid = self.session.get('accountid')
        account = Account.get_by_accountid(accountid)
        if 1 != account.mod:
            return

        page = Page.get_by_id(int(pageid))
        content = Content.get_by_id(int(contentid))
        PageContentLink.new(page, content)
        self.redirect('/page/' + pageid)
コード例 #46
0
ファイル: page.py プロジェクト: zedoul/storyengine-gae
	def get(self,pageid,contentid):
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return

		page = Page.get_by_id(int(pageid))
		content = Content.get_by_id(int(contentid))
		PageContentLink.new(page,content)
		self.redirect('/page/'+pageid)
コード例 #47
0
ファイル: story.py プロジェクト: zedoul/storyengine-gae
	def get(self,storyid,pageid):
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return
		page = Page.get_by_id(int(pageid))
		for link in page.contents:
			link.delete()
		page.delete()
		self.redirect("/story/"+storyid)
コード例 #48
0
ファイル: page.py プロジェクト: zedoul/storyengine-gae
	def get(self,pageid):
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return
		s_form = PageContentsSyncForm(None)
		context = {'static_path': STATIC_PATH,
			'APP_TITLE' : APP_TITLE,
			'form':s_form}
		self.render_to_response('form.html',context)
コード例 #49
0
ファイル: story.py プロジェクト: zedoul/storyengine-gae
 def post(self, keyid):  #logout
     accountid = self.session.get('accountid')
     account = Account.get_by_accountid(accountid)
     story_ = Story.get_by_id(int(keyid))
     page = Page.new(account, story_)
     pageid = int(self.request.get('pageid'))
     pageToImport = Page.get_by_id(int(pageid))
     for link in pageToImport.contents:
         PageContentLink.new(page, link.content)
     self.redirect('/story/' + keyid)
コード例 #50
0
ファイル: apitest.py プロジェクト: zedoul/storyengine-gae
	def post(self):
		testcode = self.request.get('testcode')
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return
		d = json.loads(testcode)
		assert(d)
		det = Story.api_purchase(d['id'],accountid)
		self.redirect(self.request.url + 'input?result='+str(det))
コード例 #51
0
ファイル: receipt.py プロジェクト: zedoul/storyengine-gae
	def get(self):
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return

		s_form = ReceiptInfoForm(None)
		context = {'static_path': STATIC_PATH,
			'form':s_form}
		self.render_to_response('form.html',context)
コード例 #52
0
ファイル: receipt.py プロジェクト: zedoul/storyengine-gae
	def post(self): #logout
		if False == (USER_AGENT in self.request.headers["User-Agent"]):
			self.response.out.write(json.dumps({'success':False}))
			return

		facebookid = self.request.get('facebookid')
		account_ = Account.get_by_facebookid(facebookid)
		towhom_ = None
		try:
			towhom_ = Account.get_by_accountid(towhomID)
		except:
			towhom_ = None
		params = {}
		params['id'] = 0
		params['itemcost'] = 0
		params['cost'] = self.request.get('cost')
		params['receipt_type'] = self.request.get('receipt_type')
		if "money" == params['receipt_type']:
			params['receipt_data'] = self.request.get('receipt_data')
			logging.info('receipt_data [%s]', params['receipt_data'])
			receipt_data = params['receipt_data']
			receipt_hash = str(hashlib.md5(str(receipt_data)).hexdigest())

			result = Receipt.all().filter("receipt_hash =", receipt_hash)
			if result != None and result.count() > 0 and result[0].receipt_hash == receipt_hash:
				logging.error('Err! id:[%s] prev existed:[%s]', facebookid, result[0])
			else:
				postdata = {}
				postdata['receipt-data'] = params['receipt_data']
				http = urllib3.PoolManager()
				r = http.request('POST','https://buy.itunes.apple.com/verifyReceipt',
					fields=postdata)
#				r = http.request('POST','https://sandbox.itunes.apple.com/verifyReceipt',
#					fields=postdata)
				t = json.loads(r.data)
				if 0 != int(t['status']) :
					logging.error('ID:[%s] cost:[%s] status:[%s]', str(facebookid), str(params['cost']), str(t['status']))
					return self.response.out.write(json.dumps({'success':False}))

		ret = Receipt.new(params,account_,towhom_)
		self.response.headers['Content-Type'] = 'application/json'
		self.response.out.write(json.dumps(ret))
コード例 #53
0
 def post(self, accountid):
     logging.info('asdfdszzzf')
     account = Account.get_by_accountid(accountid)
     logging.info('asdfdsf')
     #		if 1 != account.mod:
     #			return
     params = {}
     for key in self.request.arguments():
         params[key] = self.request.get(key)
     account.setter(params)
     self.redirect('/account')
コード例 #54
0
ファイル: category.py プロジェクト: zedoul/storyengine-gae
    def post(self, category_name):
        accountid = self.session.get('accountid')
        account = Account.get_by_accountid(accountid)
        if 1 != account.mod:
            return

        storyid = self.request.get('storyid')
        category = Category.getter(category_name)
        story = Story.get_by_id(int(storyid))
        CategoryStoryLink.new(category, story)
        self.redirect('/category/' + category_name)
コード例 #55
0
ファイル: category.py プロジェクト: zedoul/storyengine-gae
    def get(self, key_name):
        accountid = self.session.get('accountid')
        account = Account.get_by_accountid(accountid)
        if 1 != account.mod:
            return

        category = Category.getter(key_name)
        for link in category.stories:
            link.delete()
        category.delete()
        self.redirect('/category')
コード例 #56
0
 def post(self, contentid):  #logout
     accountid = self.session.get('accountid')
     account = Account.get_by_accountid(accountid)
     if 1 != account.mod:
         return
     content = Content.get_by_id(int(contentid))
     params = {}
     for key in self.request.arguments():
         params[key] = self.request.get(key)
     content.setter(params)
     self.redirect('/content')
コード例 #57
0
ファイル: category.py プロジェクト: zedoul/storyengine-gae
	def get(self,key_name):
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return

		category = Category.getter(key_name)
		for link in category.stories:
			link.delete()
		category.delete()
		self.redirect('/category')
コード例 #58
0
ファイル: receipt.py プロジェクト: zedoul/storyengine-gae
	def get(self,keyid):
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return

		receipt = Receipt.get_by_id(int(keyid))
		context = {'static_path': STATIC_PATH,
			'receipt':receipt,
			'keyid':receipt.key().id()}
		self.render_to_response('receipt_read.html',context)
コード例 #59
0
ファイル: category.py プロジェクト: zedoul/storyengine-gae
	def get(self,category_name):
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return

		s_form = CategoryStoryAddForm(None)
		context = {'static_path': STATIC_PATH,
			'APP_TITLE' : APP_TITLE,
			'form':s_form}
		self.render_to_response('form.html',context)
コード例 #60
0
ファイル: category.py プロジェクト: zedoul/storyengine-gae
	def post(self,category_name): 
		accountid = self.session.get('accountid')
		account = Account.get_by_accountid(accountid)
		if 1 != account.mod:
			return

		storyid = self.request.get('storyid')
		category = Category.getter(category_name)
		story = Story.get_by_id(int(storyid))
		CategoryStoryLink.new(category,story)
		self.redirect('/category/'+category_name)