Exemple #1
0
    def calls(self, **kw):
        calls = QueryConstructor(ast.Call, **kw)
        calls.visit(self.parsed)

        return [{
            'line_no': x.lineno,
            'col_no': x.col_offset,
            'node': x
        } for x in calls.results]
Exemple #2
0
    def classes(self, **kw):
        from docs.classes import Class
        functions = QueryConstructor(ast.ClassDef, **kw)
        functions.visit(self.parsed)

        return [
            Class(x) for x in sorted(functions.results, key=lambda x: x.lineno)
            if x.parent and x.parent._ast_obj == self.parsed
        ]
Exemple #3
0
    def assignments(self, **kw):
        assignments = QueryConstructor(ast.Assign, **kw)
        assignments.visit(self.parsed)

        return [{
            'line_no': x.lineno,
            'col_no': x.col_offset,
            'node': x
        } for x in assignments.results]
Exemple #4
0
    def functions(self, **kw):
        from docs.function.function import Function

        functions = QueryConstructor(ast.FunctionDef, **kw)
        functions.visit(self.parsed)
        return [
            Function(x)
            for x in sorted(functions.results, key=lambda x: x.lineno)
            if x.parent and x.parent._ast_obj == self.parsed
        ]
Exemple #5
0
Fichier : base.py Projet : zed/docs
  def classes(self, **kw):
    from docs.classes import Class
    functions = QueryConstructor(ast.ClassDef, **kw)
    functions.visit(self.parsed)

    return [Class(x) for x in
      sorted(
        functions.results,
        key=lambda x: x.lineno
    ) if x.parent and x.parent._ast_obj == self.parsed]
Exemple #6
0
  def calls(self, **kw):
    calls = QueryConstructor(ast.Call, **kw)
    calls.visit(self.parsed)

    return [{
      'line_no': x.lineno,
       'col_no': x.col_offset,
       'node': x
      } for x in calls.results
    ]
Exemple #7
0
  def assignments(self, **kw):
    assignments = QueryConstructor(ast.Assign, **kw)
    assignments.visit(self.parsed)

    return [{
      'line_no': x.lineno,
       'col_no': x.col_offset,
       'node': x
      } for x in assignments.results
    ]
Exemple #8
0
  def functions(self, **kw):
    from docs.function.function import Function

    functions = QueryConstructor(ast.FunctionDef, **kw)
    functions.visit(self.parsed)
    return [
      Function(x) for x in
        sorted(
          functions.results,
          key=lambda x: x.lineno
      ) if x.parent and x.parent._ast_obj == self.parsed
    ]
Exemple #9
0
  def get_var(self, var):
    """Helper for getting module metadata like __author__"""

    variables = QueryConstructor(ast.Name, id=var)
    variables.visit(self.parsed)

    if variables.results:
      result = variables.results[0].parent.value

    else:
      return []

    if isinstance(result, ast.Str):
      return [result.s]

    elif isinstance(result, ast.List):
      return [x.s for x in result.elts]

    return []
Exemple #10
0
    def imports(self, **kw):
        """Lists the imports declared in the module

    Always returns a list.
    """
        from docs.imports import Import

        imports = QueryConstructor(ast.Import, **kw)
        import_froms = QueryConstructor(ast.ImportFrom, **kw)

        imports.visit(self.parsed)
        import_froms.visit(self.parsed)

        return [
            Import(x) for x in sorted(imports.results + import_froms.results,
                                      key=lambda x: x.lineno)
        ]
Exemple #11
0
Fichier : base.py Projet : zed/docs
  def imports(self, **kw):
    """Lists the imports declared in the module

    Always returns a list.
    """
    from docs.imports import Import

    imports = QueryConstructor(ast.Import, **kw)
    import_froms = QueryConstructor(ast.ImportFrom, **kw)

    imports.visit(self.parsed)
    import_froms.visit(self.parsed)

    return [Import(x) for x in
      sorted(
        imports.results + import_froms.results,
        key=lambda x: x.lineno
    )]