split mfetch script in mail and feed sync services
This commit is contained in:
		
							parent
							
								
									cc8184a717
								
							
						
					
					
						commit
						1f4788fb03
					
				
					 3 changed files with 39 additions and 22 deletions
				
			
		|  | @ -1,30 +1,27 @@ | ||||||
| #!/bin/sh | #!/bin/sh | ||||||
|  | export USER="$(whoami)" | ||||||
|  | export HOME=/home/"$USER" | ||||||
|  | export DISPLAY=":0" | ||||||
|  | 
 | ||||||
|  | set -e | ||||||
|  | 
 | ||||||
| # Split outbox emails | # Split outbox emails | ||||||
| mlist /data/mail/outbox | mpick -t 'from =~~ "posteo"' | mflag -F | mrefile /data/mail/posteo/Sent | mlist /data/mail/outbox | mpick -t 'from =~~ "posteo"' | mflag -F | mrefile /data/mail/posteo/Sent | ||||||
| mlist /data/mail/outbox | mpick -t 'from =~~ "ugent"' | mflag -F | mrefile /data/mail/ugent/Sent | mlist /data/mail/outbox | mpick -t 'from =~~ "ugent"' | mflag -F | mrefile /data/mail/ugent/Sent | ||||||
| mlist /data/mail/outbox | mpick -t 'from =~~ "gmail"' | mflag -F | mrefile /data/mail/gmail/Sent | mlist /data/mail/outbox | mpick -t 'from =~~ "gmail"' | mflag -F | mrefile /data/mail/gmail/Sent | ||||||
| 
 | 
 | ||||||
| # Find new messages in feeds | # check for internet connection | ||||||
| d="$(mktemp -d)" | ip route ls | grep -q '.' | ||||||
| mmkdir "$d" | 
 | ||||||
| date | # check if the gpg-agent is running | ||||||
| sfeed_update | pgrep gpg-agent > /dev/null | ||||||
| date |  | ||||||
| sfeed_mbox ~/.sfeed/feeds/* | mdeliver -M -v "$d" | while read mail; do |  | ||||||
| 	if ! mlist /data/mail/feeds | magrep -q message-id:"$(mshow -qh message-id "$mail" | cut -d' ' -f2)"; then |  | ||||||
| 		mdeliver /data/mail/feeds < "$mail" |  | ||||||
| 		# TODO -X dfprst or -X '' (no flags) |  | ||||||
| 	fi |  | ||||||
| done |  | ||||||
| date |  | ||||||
| rm -rf "$d" |  | ||||||
| 
 | 
 | ||||||
| # Sync email | # Sync email | ||||||
| mbsync -a | mbsync -a -q | ||||||
| 
 | 
 | ||||||
| # No further processing if there are no new mails | # No further processing if there are no new mails | ||||||
| if ! mdirs /data/mail | mlist -N | grep -q .; then | if ! mdirs /data/mail | mlist -N | grep -q .; then | ||||||
| 	exit | 	exec sleep 1m | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| # Incorporate new mails and store them in the temp sequence | # Incorporate new mails and store them in the temp sequence | ||||||
|  | @ -51,11 +48,7 @@ minc $(mdirs /data/mail) > "$s" | ||||||
| 	for muted in $(cat ~/.mblaze/muted); do | 	for muted in $(cat ~/.mblaze/muted); do | ||||||
| 		mpick -t '"references" =~~ "'"$muted"'"' < "$s" | 		mpick -t '"references" =~~ "'"$muted"'"' < "$s" | ||||||
| 	done | 	done | ||||||
| } | sort | uniq | mflag -Sf | } | sort | uniq | mflag -Sf > /dev/null | ||||||
| 
 | 
 | ||||||
| # Clear muted sequence | # Clear muted sequence | ||||||
| #mseq -f < ~/.mblaze/muted | mpick -t 'date < "'"$(date -I -d '1 month ago')"'"' | sponge ~/.mblaze/muted | #mseq -f < ~/.mblaze/muted | mpick -t 'date < "'"$(date -I -d '1 month ago')"'"' | sponge ~/.mblaze/muted | ||||||
| 
 |  | ||||||
| # Show the remaining new mails |  | ||||||
| mseq -f < "$s" | mpick -t 'flagged || ! seen' | mseq -S |  | ||||||
| mscan |  | ||||||
							
								
								
									
										25
									
								
								services/sfeed/run
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										25
									
								
								services/sfeed/run
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,25 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | export USER="$(whoami)" | ||||||
|  | export HOME=/home/"$USER" | ||||||
|  | export DISPLAY=":0" | ||||||
|  | 
 | ||||||
|  | set -e | ||||||
|  | 
 | ||||||
|  | # check for internet connection | ||||||
|  | ip route ls | grep -q '.' | ||||||
|  | 
 | ||||||
|  | # check if the gpg-agent is running | ||||||
|  | pgrep gpg-agent > /dev/null | ||||||
|  | 
 | ||||||
|  | # Find new messages in feeds | ||||||
|  | d="$(mktemp -d)" | ||||||
|  | mmkdir "$d" | ||||||
|  | sfeed_update > /dev/null 2>&1 | ||||||
|  | sfeed_mbox ~/.sfeed/feeds/* | mdeliver -M -v "$d" | while read mail; do | ||||||
|  | 	if ! mlist /data/mail/feeds | magrep -q message-id:"$(mshow -qh message-id "$mail" | cut -d' ' -f2)"; then | ||||||
|  | 		mdeliver -X F /data/mail/feeds < "$mail" > /dev/null | ||||||
|  | 	fi | ||||||
|  | done | ||||||
|  | rm -rf "$d" | ||||||
|  | 
 | ||||||
|  | exec sleep 1h | ||||||
|  | @ -2,7 +2,6 @@ | ||||||
| export USER="$(whoami)" | export USER="$(whoami)" | ||||||
| export HOME=/home/"$USER" | export HOME=/home/"$USER" | ||||||
| export DISPLAY=":0" | export DISPLAY=":0" | ||||||
| . "$HOME"/.profile |  | ||||||
| 
 | 
 | ||||||
| set -e | set -e | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Felix Van der Jeugt
						Felix Van der Jeugt