Module jumpscale.clients.github.milestone
Expand source code
from jumpscale.loader import j
from .base import base
class RepoMilestone(base):
    """
    milestone as defined on 1 specific repo
    """
    def __init__(self, repo, githubObj=None):
        base.__init__(self)
        self._ddict = {}
        self._githubObj = githubObj
        if githubObj is not None:
            self.load()
        self.repo = repo
    # @property
    # def api(self):
    #     if self._githubObj is None:
    #         j.application.break_into_jshell("DEBUG NOW get api for milestone")
    #     return self._githubObj
    def load(self):
        self._ddict = {}
        #self._ddict["deadline"] = j.data.time.any2HRDateTime(self.api.due_on)
        self._ddict["id"] = self.api.id
        self._ddict["url"] = self.api.url
        self._ddict["title"] = self.api.title
        self._ddict["body"] = self.api.description
        self._ddict["number"] = self.api.number
    @property
    def title(self):
        return self._ddict["title"]
    @title.setter
    def title(self, val):
        self._ddict["title"] = val
        self.api.edit(title=val)
    @property
    def ddict(self):
        if not self._ddict:
            # no dict yet, fetch from github
            self.load()
        return self._ddict
    # synonym to let the tags of super class work
    @property
    def body(self):
        return self._ddict["body"]
    @body.setter
    def body(self, val):
        if self._ddict["body"] != val:
            self._ddict["body"] = val
            self.api.edit(self.title, description=val)
    # @property
    # def deadline(self):
    #     return self._ddict["deadline"]
    # @deadline.setter
    # def deadline(self, val):
    #     #due = j.data.time.epoch2pythonDateTime(int(j.data.time.getEpochFuture(val)))
    #     self._ddict["deadline"] = val
    #     self.api.edit(title=self.title)
    @property
    def id(self):
        return self._ddict["id"]
    @property
    def url(self):
        return self._ddict["url"]
    @property
    def number(self):
        return self._ddict["number"]
Classes
class RepoMilestone (repo, githubObj=None)- 
milestone as defined on 1 specific repo
base class implementation for any class with fields which supports getting/setting raw data for any instance fields.
any instance can have an optional name and a parent.
class Person(Base): name = fields.String() age = fields.Float() p = Person(name="ahmed", age="19") print(p.name, p.age)Args
parent_:Base, optional- parent instance. Defaults to None.
 instance_name_:str, optional- instance name. Defaults to None.
 **values- any given field values to initiate the instance with
 
Expand source code
class RepoMilestone(base): """ milestone as defined on 1 specific repo """ def __init__(self, repo, githubObj=None): base.__init__(self) self._ddict = {} self._githubObj = githubObj if githubObj is not None: self.load() self.repo = repo # @property # def api(self): # if self._githubObj is None: # j.application.break_into_jshell("DEBUG NOW get api for milestone") # return self._githubObj def load(self): self._ddict = {} #self._ddict["deadline"] = j.data.time.any2HRDateTime(self.api.due_on) self._ddict["id"] = self.api.id self._ddict["url"] = self.api.url self._ddict["title"] = self.api.title self._ddict["body"] = self.api.description self._ddict["number"] = self.api.number @property def title(self): return self._ddict["title"] @title.setter def title(self, val): self._ddict["title"] = val self.api.edit(title=val) @property def ddict(self): if not self._ddict: # no dict yet, fetch from github self.load() return self._ddict # synonym to let the tags of super class work @property def body(self): return self._ddict["body"] @body.setter def body(self, val): if self._ddict["body"] != val: self._ddict["body"] = val self.api.edit(self.title, description=val) # @property # def deadline(self): # return self._ddict["deadline"] # @deadline.setter # def deadline(self, val): # #due = j.data.time.epoch2pythonDateTime(int(j.data.time.getEpochFuture(val))) # self._ddict["deadline"] = val # self.api.edit(title=self.title) @property def id(self): return self._ddict["id"] @property def url(self): return self._ddict["url"] @property def number(self): return self._ddict["number"]Ancestors
Instance variables
var body- 
Expand source code
@property def body(self): return self._ddict["body"] var ddict- 
Expand source code
@property def ddict(self): if not self._ddict: # no dict yet, fetch from github self.load() return self._ddict var id- 
Expand source code
@property def id(self): return self._ddict["id"] var number- 
Expand source code
@property def number(self): return self._ddict["number"] var title- 
Expand source code
@property def title(self): return self._ddict["title"] var url- 
Expand source code
@property def url(self): return self._ddict["url"] 
Methods
def load(self)- 
Expand source code
def load(self): self._ddict = {} #self._ddict["deadline"] = j.data.time.any2HRDateTime(self.api.due_on) self._ddict["id"] = self.api.id self._ddict["url"] = self.api.url self._ddict["title"] = self.api.title self._ddict["body"] = self.api.description self._ddict["number"] = self.api.number 
Inherited members