ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CRAB/python/LFNBaseName.py
(Generate patch)

Comparing COMP/CRAB/python/LFNBaseName.py (file contents):
Revision 1.22 by spiga, Tue May 26 10:23:01 2009 UTC vs.
Revision 1.23 by fanzago, Fri Jul 31 16:21:12 2009 UTC

# Line 17 | Line 17 | def LFNBase(forced_path, PrimaryDataset=
17      if PrimaryDataset != '':
18          if ( PrimaryDataset[0] == '/' ):  PrimaryDataset=PrimaryDataset[1:]  
19      lfnbase = os.path.join(forced_path, getUserName(), PrimaryDataset, ProcessedDataset)
20 <
20 >    if (publish == True):
21 >        checkLength(lfnbase, forced_path, PrimaryDataset, ProcessedDataset)
22      return lfnbase
23  
24 + def checkLength(lfnbase, forced_path, PrimaryDataset, ProcessedDataset):
25 +    """
26 +    """
27 +    
28 +    len_primary = len(PrimaryDataset)
29 +    
30 +    common.logger.debug("CheckLength of LFN and User DatasetName")
31 +    common.logger.debug("max length for complete LFN is 500 characters, max length for primary dataset is 100 characters")
32 +    common.logger.debug("PrimaryDataset = " + PrimaryDataset)
33 +    common.logger.debug("len_primary = " + str(len_primary))
34 +
35 +    if (len_primary > 100):
36 +       raise CrabException("Warning: you required user_data_publication. The PrimaryDatasetName has to be < 100 characters")
37 +    
38 +    if (PrimaryDataset != ProcessedDataset):
39 +        common.logger.debug("ProcessedDataset = " + ProcessedDataset)
40 +        common.logger.debug("len(ProcessedDataset) = " + str(len(ProcessedDataset)))
41 +
42 +    common.logger.debug("forced_path = " + forced_path)
43 +    common.logger.debug("len(forced_path) = " + str(len(forced_path)))    
44 +    
45 +    user = getUserName()
46 +    len_user_name = len(user)
47 +    common.logger.debug("user = " + user)
48 +    common.logger.debug("len_user_name = " + str(len_user_name))
49 +    
50 +    common.logger.debug("lfnbase = " + lfnbase)
51 +    common.logger.debug("len(lfnbase) = " + str(len(lfnbase)))
52 +    
53 +    ### we suppose a output_file_name of 50 characters ###
54 +    if len(lfnbase)>450:
55 +        if (PrimaryDataset != ProcessedDataset):
56 +            #500 - len_user_name - len_primary - len(forced) - len(PSETHASH = 32) - 4(/) - output(50)
57 +            #~400 - len_user_name - len_primary - len(forced)
58 +            if (len(ProcessedDataset) > (400 - len_user_name - len_primary - len(forced_path))):
59 +                raise CrabException("Warning: publication name too long. USER.publish_data_name has to be < " + str(400 - len_user_name - len_primary - len(forced_path)) + " characters")
60 +            else:
61 +                raise CrabException("Warning: LFN > 500 characters")
62 +        else:
63 +            if (len(ProcessedDataset) > (400 - len_user_name - len(forced_path)) / 2):
64 +                raise CrabException("Warning: publication name too long. USER.publish_data_name has to be < " + str((400 - len_user_name - len(forced_path)) / 2) + " characters")
65 +            else:
66 +                raise CrabException("Warning: LFN > 500 characters")
67 +            
68  
69   if __name__ == '__main__' :
70      """

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines