BObjectList<PootleProject>
PootleProjectsEndpoint::Get(int limit, int offset)
{
	BObjectList<PootleProject> objectlist(20, true);
	BString url;
	int32 count = -1;
	if (limit == -1)
		limit = 100;

	url.SetToFormat("?limit=%d&offset=%d", limit, offset);
	BMessage data = _GetAll(url, limit < 0 ? 0 : limit);
	data.GetInfo("data", NULL, &count);

	if (count < 0)
		return objectlist;

	for (int32 i = 0; i < count; i++) {
		BMessage msg;
		data.FindMessage("data", i, &msg);
		PootleProject *lang = new PootleProject(this, msg);
		objectlist.AddItem(lang);
	}
	
	return objectlist;
}
Esempio n. 2
0
 void _GetAll(const rapidjson::Value& doc, KvPairs& kvPairs) const {
     if (doc.HasMember(kDir) && (doc[kDir].GetBool() == true)) {
         if (!doc.HasMember(kNodes))
             return;  // directory doesn't have nodes
         const rapidjson::Value& nodes = doc[kNodes];
         assert(nodes.IsArray());
         for (size_t i = 0; i < nodes.Size(); ++i)
             _GetAll(nodes[i], kvPairs);
     } else {
         if (doc.HasMember(kKey)) {
             if (doc.HasMember(kValue)) {
                 kvPairs.emplace(doc[kKey].GetString(), doc[kValue].GetString());
             } else {
                 kvPairs.emplace(doc[kKey].GetString(), "");
             }
         }
     }
 }
Esempio n. 3
0
 void GetAll(KvPairs& kvPairs) const {
     if (! document_.HasMember(kNode)) {
     }
     //ToDo check whether prefix should be "/"
     return _GetAll(document_[kNode], kvPairs);
 }