On Jan 30, 10:46 am, Jason Grout <[email protected]> wrote:
> Add a warnings handler which traps the Matplotlib deprecation
> warning. This handler will compare the matplotlibrc with the one that
> was distributed in the last release (maybe by checking a hash value).
> If it is identical (i.e., the user hasn't modified the matplotlibrc),
> then *delete* the matplotlibrc. This is a
> bit tricky, since the sage default matplotlibrc is not under version
> control (it's in $SAGE_ROOT), so we don't know what older copies looked
> like.
I have no opinion on whether the idea itself is worth implementing,
but if you want to know if the file has changed from
the original, you should probably include a hash of the file into
itself. matplotlibrc's format allows for comments, so this is
straightforward to do.
The person editing sage's default matplotlibrc should remember to
update the hash.
If a user edits matplotlibrc, the hash is almost surely not going to
match. If the user updates the hash .... well that's his own fault
then.
Some proof of concept shell script to do this:
----------------------------- sample for testing the hash
----------------------
#!/bin/sh
FILE=$1
REALHASH="#MD5-HASH: "`grep -v "^#MD5-HASH:" $FILE | md5sum`
STOREDHASH=`grep "^#MD5-HASH:" $FILE`
echo "R:" $REALHASH
echo "S:" $STOREDHASH
if [ "${REALHASH}" = "${STOREDHASH}" ]; then
echo "match"
else
echo "no match"
fi
-----------------------------------------------------------------------------------------
------------------ code for updating the stored hash
---------------------
#!/bin/sh
TMP=`mktemp`
FILE=$1
grep -v "^#MD5-HASH:" $FILE >> $TMP
HASH=`md5sum < $TMP`
mv $TMP $FILE
echo "#MD5-HASH: $HASH" >> $FILE
----------------------------------------------------------------------------------------
I'm sure the corresponding routines in Python would be both more
elegant and faster.
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---