Uniquely identifying each & every html template

Dave Angel d at davea.name
Sat Jan 19 04:00:15 EST 2013


On 01/19/2013 03:39 AM, Ferrous Cranus wrote:
> Τη Σάββατο, 19 Ιανουαρίου 2013 12:09:28 π.μ. UTC+2, ο χρήστης Dave Angel έγραψε:
>
>> I don't understand the problem.  A trivial Python script could scan
>>
>> through all the files in the directory, checking which ones are missing
>>
>> the identifier, and rewriting the file with the identifier added.
>
>>
>> So, since you didn't come to that conclusion, there must be some other
>>
>> reason you don't want to edit the files.  Is it that the real sources
>>
>> are elsewhere (e.g. Dreamweaver), and whenever one recompiles those
>>
>> sources, these files get replaced (without identifiers)?
>
> Exactly. Files get modified/updates thus the embedded identifier will be missing each time. So, relying on embedding code to html template content is not practical.
>
>
>> If that's the case, then I figure you have about 3 choices:
>> 1) use the file path as your key, instead of requiring a number
>
> No, i cannot, because it would mess things at a later time on when i for example:
>
> 1. mv name.html othername.html   (document's filename altered)
> 2. mv name.html /subfolder/name.html   (document's filepath altered)
>
> Hence, new database counters will be created for each of the above actions, therefore i will be having 2 counters for the same file, and the latter one will start from a zero value.
>
> Pros: If the file's contents gets updated, that won't affect the counter.
> Cons: If filepath is altered, then duplicity will happen.
>
>
>> 2) use a hash of the page  (eg. md5) as your key.  of course this could
>> mean that you get a new value whenever the page is updated.  That's good
>> in many situations, but you don't give enough information to know if
>> that's desirable for you or not.
>
> That sounds nice! A hash is a mathematical algorithm that produce a unique number after analyzing each file's contents? But then again what if the html templated gets updated? That update action will create a new hash for the file, hence another counter will be created for the same file, same end result as (1) solution.
>
> Pros: If filepath is altered, that won't affect the counter.
> Cons: If file's contents gets updated the, then duplicity will happen.
>
>
>> 3) Keep an external list of filenames, and their associated id numbers.
>> The database would be a good place to store such a list, in a separate table.
>
> I did not understand that solution.
>
>
> We need to find a way so even IF:
>
> (filepath gets modified && file content's gets modified) simultaneously the counter will STILL retains it's value.
>

You don't yet have a programming problem, you have a specification 
problem.  Somehow, you want a file to be considered "the same" even when 
it's moved, renamed and/or modified.  So all files are the same, and you 
only need one id.

Don't pick a mechanism until you have an self-consistent spec.

-- 
DaveA



More information about the Python-list mailing list