#!/usr/bin/python # # Copyright (C) 2007 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # This file demonstrates how to use the Google Data API's Python client library # to interface with the Codesearch service. __author__ = 'vbarathan@gmail.com (Prakash Barathan)' from gdata import service import gdata.codesearch.service import gdata import atom import getopt import sys class CodesearchExample: def __init__(self): """Creates a GData service instance to talk to Codesearch service.""" self.service = gdata.codesearch.service.CodesearchService( source='Codesearch_Python_Sample-1.0') def PrintCodeSnippets(self, query): """Prints the codesearch results for given query.""" feed = self.service.GetSnippetsFeed(query) print feed.title.text + " Results for '" + query + "'" print '============================================' for entry in feed.entry: print "" + entry.title.text for match in entry.match: print "\tline#" + match.line_number + ":" + match.text.replace('\n', '') print def main(): """The main function runs the CodesearchExample application with user specified query.""" # parse command line options try: opts, args = getopt.getopt(sys.argv[1:], "", ["query="]) except getopt.error, msg: print ('python CodesearchExample.py --query [query_text]') sys.exit(2) query = '' # Process options for o, a in opts: if o == "--query": query = a if query == '': print ('python CodesearchExample.py --query [query]') sys.exit(2) sample = CodesearchExample() sample.PrintCodeSnippets(query) if __name__ == '__main__': main()