Exemplo n.º 1
0
# filter parameters
params[ ArticleCoding.PARAM_START_DATE ] = start_pub_date
params[ ArticleCoding.PARAM_END_DATE ] = end_pub_date
params[ ArticleCoding.PARAM_TAG_LIST ] = tag_in_list
params[ ArticleCoding.PARAM_PUBLICATION_LIST ] = paper_id_in_list
params[ ArticleCoding.PARAM_SECTION_LIST ] = section_list
params[ ArticleCoding.PARAM_ARTICLE_ID_LIST ] = article_id_in_list

# set coder you want to use.

# OpenCalais REST API v.2
params[ ArticleCoding.PARAM_CODER_TYPE ] = ArticleCoding.ARTICLE_CODING_IMPL_OPEN_CALAIS_API_V2

# get instance of ArticleCoding
my_article_coding = ArticleCoding()
my_article_coding.do_print_updates = do_i_print_updates

# set params
my_article_coding.store_parameters( params )

# create query set - ArticleCoding does the filtering for you.
article_qs = my_article_coding.create_article_query_set()

# limit for an initial test?
if ( ( limit_to is not None ) and ( isinstance( limit_to, int ) == True ) and ( limit_to > 0 ) ):

    # yes.
    article_qs = article_qs[ : limit_to ]

#-- END check to see if limit --#
Exemplo n.º 2
0
    def test_article_coding( self ):
        
        # declare variables
        start_pub_date = None # should be datetime instance
        end_pub_date = None # should be datetime instance
        tag_in_list = []
        paper_id_in_list = []
        params = {}
        my_article_coding = None
        article_qs = None
        article_id_in_list = []
        article_count = -1
        coding_status = ""
        do_coding = True
        
        # test variables
        automated_user = None
        automated_username = ""
        automated_article_data_qs = None
        article_data_count = -1
        
        # first, use filters to get a list of articles to code - set filter parameters
        
        # publication date range:
        #start_pub_date = "2009-12-06"
        #end_pub_date = "2009-12-12"
        #params[ ArticleCoding.PARAM_START_DATE ] = start_pub_date
        #params[ ArticleCoding.PARAM_END_DATE ] = end_pub_date
        
        # tags
        # NOTE - THIS DOES NOT WORK: tag_in_list = [ "prelim_reliability", "prelim_network" ]
        #tag_in_list = "prelim_reliability,prelim_network"
        #params[ ArticleCoding.PARAM_TAG_LIST ] = tag_in_list

        # newspaper ID(s)
        #paper_id_in_list = "1"
        #params[ ArticleCoding.PARAM_PUBLICATION_LIST ] = paper_id_in_list

        # paper sections
        #section_list = "Lakeshore,Front Page,City and Region,Business"
        #params[ ArticleCoding.PARAM_SECTION_LIST ] = section_list
        
        # set coder you want to use.
        
        # OpenCalais REST API, version 2
        params[ ArticleCoding.PARAM_CODER_TYPE ] = ArticleCoding.ARTICLE_CODING_IMPL_OPEN_CALAIS_API_V2
        
        # get instance of ArticleCoding
        my_article_coding = ArticleCoding()
        
        # set params
        my_article_coding.store_parameters( params )
        
        # create query set - ArticleCoding does the filtering for you.
        #article_qs = my_article_coding.create_article_query_set()
        article_qs = Article.objects.all()
        
        # limit to one for an initial test?
        #article_qs = article_qs[ : 1 ]
        
        # filter on related article IDs?
        #article_id_in_list = [ 360962 ]
        #article_id_in_list = [ 28598 ]
        #article_id_in_list = [ 21653, 21756 ]
        #article_id_in_list = [ 90948 ]
        #article_id_in_list = [ 21627, 21609, 21579 ]
        if ( len( article_id_in_list ) > 0 ):
        
            # yes.
            article_qs = article_qs.filter( id__in = article_id_in_list )
        
        #-- END check to see if filter on specific IDs. --#
        
        # make sure we have at least one article
        article_count = article_qs.count()
        
        # should be 46
        self.assertEqual( article_count, 46 )
        
        # Do coding?
        if ( do_coding == True ):
        
            # yes - as long as we have articles.
            if ( article_count > 0 ):
        
                # invoke the code_article_data( self, query_set_IN ) method.
                coding_status = my_article_coding.code_article_data( article_qs )
            
                # output status
                print( "\n\n==============================\n\nCoding status: \"" + coding_status + "\"" )
            
            #-- END check to see if article count. --#
            
            # tests
            
            # automated user created?
            automated_user = ArticleCoder.get_automated_coding_user( False )
            self.assertIsNotNone( automated_user )
            
            # make sure username is correct
            automated_username = automated_user.username
            self.assertEqual( automated_username, "automated" )
            
            # count number of articles coded by automated user
            automated_article_data_qs = Article_Data.objects.filter( coder = automated_user )
            article_data_count = automated_article_data_qs.count()
            
            # should also be 46
            self.assertEqual( article_data_count, 46 )
            
        else:
            
            # output matching article count.
            print( "do_coding == False, so dry run" )
            print( "- query params:" )
            print( params )
            print( "- matching article count: " + str( article_count ) )
            
        #-- END check to see if we do_coding --#
                             
    #-- END test method test_article_coding() --#


#-- END test class OpenCalaisTest --#
Exemplo n.º 3
0
my_article_coding = None
article_qs = None

# first, get a list of articles to code.
start_pub_date = "2009-12-06"
end_pub_date = "2009-12-12"
tag_in_list = "prelim,horse"
paper_id_in_list = "1"

# filter parameters
params[ ArticleCoding.PARAM_START_DATE ] = start_pub_date
params[ ArticleCoding.PARAM_END_DATE ] = end_pub_date
#params[ ArticleCoding.PARAM_TAG_LIST ] = tag_in_list
params[ ArticleCoding.PARAM_PUBLICATION_LIST ] = paper_id_in_list

# filter using ArticleCoding

# get instance of ArticleCoding
my_article_coding = ArticleCoding()

# set params
my_article_coding.set_parameters( params )

# create query set
article_qs = my_article_coding.create_article_query_set()

# make instance of article coder - also ArticleCoding...

# give it list of articles.

# ready go!