diff --git a/SE_API/ProjectRoutes.py b/SE_API/ProjectRoutes.py
index 59127c9..686c267 100644
--- a/SE_API/ProjectRoutes.py
+++ b/SE_API/ProjectRoutes.py
@@ -7,8 +7,11 @@ from GithubAPI.GithubAPI import GitHubAPI_Keys
from google.appengine.ext import db
import requests
import datetime
+import thread
+import threading
-from flask import Flask, request, render_template, redirect, abort, Response
+
+from flask import Flask, request, render_template, redirect, abort, Response, g
from flask.ext.github import GitHub
from flask.ext.cors import CORS, cross_origin
@@ -58,6 +61,7 @@ def create_project(token):
403 - Invalid token or not a lecturer
"""
+
if not request.data:
return bad_request()
try:
@@ -76,17 +80,40 @@ def create_project(token):
print e
return bad_request()
- db.put(project)
+ try:
+ project.logo_url = payload['logo_url']
+ except Exception as e:
+ print e
+ pass
+
+
+ # def updateProjectInfo(response):
+ #
+ # projectDic = dict(json.loads(response.data))
+ # project = Project.get_by_id(int(projectDic['id']))
+ # project.info = json.dumps(get_github_data(project.gitRepository))
+ # db.put(project)
+ # db.save
+ # return response
+
+ db.put(project)
#update user projects list
user.projects_id_list.append(str(project.key().id()))
+ print "finish project"
db.put(user)
db.save
+ t1 = threading.Thread(target=updateProjectInfo,args=(project.key().id(),))
+ t1.start()
+ # thread.start_new_thread(updateProjectInfo, (project.key().id(),))
+
return Response(response=project.to_JSON(),
status=200,
mimetype="application/json")
+
+
#----------------------------------------------------------
# PUT
#----------------------------------------------------------
@@ -312,4 +339,28 @@ def deleteProject(token,projectId):
@project_routes.route('/api/projects/help')
def documentation():
- return auto.html()
\ No newline at end of file
+ return auto.html()
+
+
+# def after_this_request(func):
+# if not hasattr(g, 'call_after_request'):
+# g.call_after_request = []
+# g.call_after_request.append(func)
+# return func
+#
+#
+# @project_routes.after_request
+# def per_request_callbacks(response):
+# for func in getattr(g, 'call_after_request', ()):
+# response = func(response)
+# return response
+#
+
+def updateProjectInfo(projectId):
+ print "in updateProjectInfo"
+ import time
+ project = Project.get_by_id(int(projectId))
+ project.info = json.dumps(get_github_data(project.gitRepository))
+ db.put(project)
+ db.save
+ return
\ No newline at end of file
diff --git a/SE_API/UserRoutes.py b/SE_API/UserRoutes.py
index a21e997..90715da 100644
--- a/SE_API/UserRoutes.py
+++ b/SE_API/UserRoutes.py
@@ -89,59 +89,59 @@ def updateUser(token):
db.save
return ok("User updated")
-@user_routes.route('/api/users/addUserToCourse/', methods=["PUT"])
-@auto.doc()
-def addUserToCourse(token):
- """
- >This Call will add a course to user course list
-
- Route Parameters
- - seToken: 'seToken'
-
-
- Payload
- - JSON Object, Example:
- {
- 'courseId': 1234567890
- }
-
- Response
-
- 200 - User updated
-
- 400 - Bad Request
- """
-
- if not request.data:
- return bad_request()
-
- try:
- payload = json.loads(request.data)
- except Exception as e:
- return bad_request()
-
- #check user exists
- user = get_user_by_token(token)
- if user is None:
- return bad_request("Not a user!")
-
- #check course Exists
- course = Course.get_by_id(payload['coursesId'])
- if course is None:
- return bad_request("No such Course!")
-
- try:
- user.courses_id_list.append(payload['coursesId'])
- except Exception as e:
- print e
- return bad_request()
-
- db.put(user)
- db.save
- return Response(response=user.to_JSON(),
- status=200,
- mimetype="application/json") # Real response!
-
+# @user_routes.route('/api/users/addUserToCourse/', methods=["PUT"])
+# @auto.doc()
+# def addUserToCourse(token):
+# """
+# >This Call will add a course to user course list
+#
+# Route Parameters
+# - seToken: 'seToken'
+#
+#
+# Payload
+# - JSON Object, Example:
+# {
+# 'courseId': 1234567890
+# }
+#
+# Response
+#
+# 200 - User updated
+#
+# 400 - Bad Request
+# """
+#
+# if not request.data:
+# return bad_request()
+#
+# try:
+# payload = json.loads(request.data)
+# except Exception as e:
+# return bad_request()
+#
+# #check user exists
+# user = get_user_by_token(token)
+# if user is None:
+# return bad_request("Not a user!")
+#
+# #check course Exists
+# course = Course.get_by_id(payload['coursesId'])
+# if course is None:
+# return bad_request("No such Course!")
+#
+# try:
+# user.courses_id_list.append(payload['coursesId'])
+# except Exception as e:
+# print e
+# return bad_request()
+#
+# db.put(user)
+# db.save
+# return Response(response=user.to_JSON(),
+# status=200,
+# mimetype="application/json") # Real response!
+#
diff --git a/models/Project.py b/models/Project.py
index 042c082..a9de13f 100644
--- a/models/Project.py
+++ b/models/Project.py
@@ -11,6 +11,7 @@ class Project(db.Model):
logo_url = db.StringProperty(required=False)
gitRepository = db.StringProperty(required=True)
membersId = db.StringListProperty(required=True)
+ info = db.TextProperty(required=False, default="{}")
def to_JSON(self):
data = {'projectName' : self.projectName,
@@ -20,6 +21,7 @@ class Project(db.Model):
'logo_url' : self.logo_url,
'gitRepository' : self.gitRepository,
'membersId' : self.membersId,
+ 'info': json.loads(self.info),
'id' : self.key().id()
}
return json.dumps(data)