#20 Python code will run in python3 only
Opened 3 years ago by aawizard. Modified 3 years ago
aawizard/fedora-contributor-trends python3-as-default  into  main

@@ -10,8 +10,8 @@ 

  

  ENDWEEK=$(( ( $(date +'%s') - $(date -ud '2012-01-01 0:0:0' +'%s') )/60/60/24/7 -1 ))

  

- python new-and-old-users-report.py --csvh $(( $STARTWEEK - 1 )) | tee data/contributor-count.csv

+ python3 new-and-old-users-report.py --csvh $(( $STARTWEEK - 1 )) | tee data/contributor-count.csv

  for week in $(seq $STARTWEEK $ENDWEEK ); do

-   python new-and-old-users-report.py --csv $week | tee -a data/contributor-count.csv

+   python3 new-and-old-users-report.py --csv $week | tee -a data/contributor-count.csv

  done

  

file modified
+9 -9
@@ -1,11 +1,11 @@ 

  #!/bin/sh

  

- until python weekly-user-activity.py org.fedoraproject.prod.irc.karma; do sleep 5; done

- until python weekly-user-activity.py org.fedoraproject.prod.git.receive; do sleep 5; done

- until python weekly-user-activity.py org.fedoraproject.prod.bodhi.update.comment; do sleep 5; done

- until python weekly-user-activity.py org.fedoraproject.prod.wiki.article.edit; do sleep 5; done

- until python weekly-user-activity.py org.fedoraproject.prod.infragit.receive; do sleep 5; done

- until python weekly-user-activity.py org.fedoraproject.prod.fedoratagger.rating.update; do sleep 5; done

- until python weekly-user-activity.py io.pagure.prod.pagure.git.receive; do sleep 5; done

- until python weekly-user-activity.py io.pagure.prod.pagure.issue.new; do sleep 5; done

- until python weekly-user-activity.py org.fedoraproject.prod.fedbadges.badge.award; do sleep 5; done

+ until python3 weekly-user-activity.py org.fedoraproject.prod.irc.karma; do sleep 5; done

+ until python3 weekly-user-activity.py org.fedoraproject.prod.git.receive; do sleep 5; done

+ until python3 weekly-user-activity.py org.fedoraproject.prod.bodhi.update.comment; do sleep 5; done

+ until python3 weekly-user-activity.py org.fedoraproject.prod.wiki.article.edit; do sleep 5; done

+ until python3 weekly-user-activity.py org.fedoraproject.prod.infragit.receive; do sleep 5; done

+ until python3 weekly-user-activity.py org.fedoraproject.prod.fedoratagger.rating.update; do sleep 5; done

+ until python3 weekly-user-activity.py io.pagure.prod.pagure.git.receive; do sleep 5; done

+ until python3 weekly-user-activity.py io.pagure.prod.pagure.issue.new; do sleep 5; done

+ until python3 weekly-user-activity.py org.fedoraproject.prod.fedbadges.badge.award; do sleep 5; done

file modified
+4 -4
@@ -1,6 +1,6 @@ 

  #!/bin/bash

  ./get-weekly-user-stats.sh

- ./create-all-time-userstats-csv.sh

- python generate-activity-charts.py

- python generate-contributor-charts.py

- python new-and-old-users-report.py

+ ./create-all-time-userstatss-csv.sh

+ python3 generate-activity-charts.py

+ python3 generate-contributor-charts.py

+ python3 new-and-old-users-report.py

As code is now compatible with python3 it is showing compatibility errors with pickle file
As a resolution, if the python files are run in python3 always
Example: in file get-weekly-user-stats.sh
until python weekly-user-activity.py org.fedoraproject.prod.irc.karma; do sleep 5; done
to
until python3 weekly-user-activity.py org.fedoraproject.prod.irc.karma; do sleep 5; done
Now if a system has both the versions of python the code will only run in python3

@mattdm Please review my PR is this a valid solution or contribution to the project

I thought about it when I made the change but the idea is that before running the code an environment has been created and activated, that is, made something like that:

python3 -m venv <env_name>
source <env_name>/bin/activate

That way we make sure that the Python interpreter is always Python3, however, we can wait for the opinion of @mattdm :smile:

Yeah, I agree -- we shouldn't try to support python2 as an interpreter, but I like the idea of allowing virtual environments to work easily.